Finden derzeit angeschlossen port-Nummer SSH

ich bin erstellen einer lokalen simulator (nicht mit dem internet verbunden) mit Hilfe der SSH-Verbindung. Ich habe angefangen, sshd auf einen bestimmten Bereich von port-Nummern und Ursprung eine Vielzahl von Geräten. Ich finde den aktuell verbundenen Portnummer.

OS CentOS 5.5
OpenSSH 6.1

Habe ich Folgendes getan. Es funktioniert für den normalen Gebrauch (Bedienungsanleitung).Aber wenn Sie versuchen, eine strenge Prüfung(automatisiert) es scheint, wie es nicht manchmal zu finden, die port-Nummer.

#!/bin/bash

WHOINFO=`who -m`

USERNAME=`echo $WHOINFO | awk 'NR==1{print $1}'`
PTSNUMBER=`echo $WHOINFO | awk 'NR==1{print $2}'`

USERSTR=$USERNAME"@"$PTSNUMBER

PID=`ps -eLf | grep $USERSTR | awk 'NR==1{print $3}'`

if [ -z "$PID" ];
then
        exit
fi

PORTSTR=`netstat -natp | grep $PID | awk 'NR==1{print $4}'`

PORTNUMBER=${PORTSTR//*:/}

echo $PORTNUMBER
dein grep Muster für die PID sollte $PID/, wie es präsentiert wird in dieser form in der Ausgabe, sonst können Sie falsch match-ports, nummeriert sind die gleichen wie die PID Sie versuchen zu entsprechen.

InformationsquelleAutor Antarus | 2013-05-09

Schreibe einen Kommentar