Zum Inhalt springen

Netstat/Anwendungen

Aus Foxwiki

Anwendungen

Netzwerkverbindungen anzeigen

Eignet sich zum Anzeigen der aktuell vorhandenen Netzwerkverbindungen.

# netstat -tapen
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address        Foreign Address       State    User    Inode   PID/Program name  
tcp    0   0 0.0.0.0:5060        0.0.0.0:*          LISTEN   500    66008   3260/twinkle    
tcp    0   0 0.0.0.0:111         0.0.0.0:*          LISTEN   0     5355    1289/rpcbind    
tcp    0   0 0.0.0.0:22         0.0.0.0:*          LISTEN   0     6668    1589/sshd      
tcp    0   0 127.0.0.1:631        0.0.0.0:*          LISTEN   0     5505    1322/cupsd     
tcp    0   0 127.0.0.1:25        0.0.0.0:*          LISTEN   0     12548   2297/sendmail: acce 
tcp    0   0 0.0.0.0:33466        0.0.0.0:*          LISTEN   0     6486    1532/rpc.statd   
tcp    0   0 192.168.1.52:59861     192.168.1.254:22      ESTABLISHED 500    100032   3703/ssh      
tcp    0   0 192.168.1.52:36330     217.188.215.74:443     ESTABLISHED 500    104396   2608/firefox    
tcp    0   0 192.168.1.52:33252     74.125.79.97:443      ESTABLISHED 500    101832   2608/firefox    
tcp    0   0 :::111           :::*            LISTEN   0     5360    1289/rpcbind    
tcp    0   0 :::22            :::*            LISTEN   0     6670    1589/sshd      
tcp    0   0 ::1:631           :::*            LISTEN   0     5504    1322/cupsd


Ausgabe von netstat

# netstat -tapen
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address      Foreign Address     State    Benutzer  Inode   PID/Program name  
tcp    0   0 127.0.0.1:2208     0.0.0.0:*        LISTEN   0     17755   5328/hpiod     
tcp    0   0 127.0.0.1:111      0.0.0.0:*        LISTEN   0     14881   4339/portmap    
tcp    0   0 127.0.0.1:631      0.0.0.0:*        LISTEN   0     17723   5304/cupsd     
tcp    0   0 0.0.0.0:4185      0.0.0.0:*        LISTEN   113    18098   5607/rpc.statd   
tcp    0   0 127.0.0.1:2207     0.0.0.0:*        LISTEN   107    17768   5333/python     
tcp    0   0 192.168.4.6:4462    192.168.5.5:993     VERBUNDEN 1000    22697   6425/sylpheed-claws 
tcp    0   0 192.168.4.6:3165    84.19.178.217:5222   VERBUNDEN 1000    20523   5895/gajim     
tcp    0   0 192.168.4.6:3780    192.168.5.5:5222    VERBUNDEN 1000    20526   5895/gajim     
tcp6    0   0 :::22          :::*          LISTEN   0     17999   5531/sshd      
udp    0   0 0.0.0.0:1024      0.0.0.0:*             113    18093   5607/rpc.statd   
udp    0   0 0.0.0.0:695       0.0.0.0:*             0     18084   5607/rpc.statd   
udp    0   0 127.0.0.1:111      0.0.0.0:*             0     14880   4339/portmap    
udp    0   0 0.0.0.0:631       0.0.0.0:*             0     17726   5304/cupsd     
udp    0   0 192.168.4.6:123     0.0.0.0:*             0     18130   5627/ntpd      
udp    0   0 127.0.0.1:123      0.0.0.0:*             0     18129   5627/ntpd      
udp    0   0 0.0.0.0:123       0.0.0.0:*             0     18124   5627/ntpd      
udp6    0   0 fe80::211:d8ff:fe6f:123 :::*                0     18128   5627/ntpd      
udp6    0   0 fe80::20e:35ff:feba:123 :::*                0     18127   5627/ntpd
udp6    0   0 ::1:123         :::*                0     18126   5627/ntpd
udp6    0   0 :::123         :::*                0     18125 
Die wichtigsten Spalten in dieser Tabelle sind folgende
  • Proto Das Protokoll: unix, tcp oder udp. IP-Version-6-Verbindungen werden durch eine angehängte "6" gekennzeichnet.
  • Local Address Die IP-Adresse oder der DNS-Name der Schnittstelle, über die diese Verbindung läuft, sowie durch einen Doppelpunkt abgetrennt die Portnummer. Die IP-Adresse ist entweder eine der gültigen Adressen, unter der der Rechner im Netz zu erreichen ist, oder eine der folgenden:
  • Foreign Address Adresse und Port der Gegenstelle der Verbindung. Die jeweilige Universal-Adresse (0.0.0.0 bzw. ::) bedeutet, dass hier ein Dienst auf Verbindungen von außen wartet.
  • State Status der Verbindung. UDP ist ein statusloses Protokoll, deswegen ist diese Spalte bei UDP-Sockets leer.
  • Benutzer Die Benutzer-ID, der das Socket gehört.
  • PID/Program name Prozess-ID und Programmname des Prozesses, dem das Socket gehört.

AUSGABE

Aktive Internet-Verbindungen (TCP, UDP, RAW) Proto

Das vom Socket verwendete Protokoll (TCP, UDP, RAW).

Recv-Q

Die Anzahl von Bytes, die noch nicht von der Anwendung vom Socket abgeholt wurden.

Send-Q

Die Anzahl von Bytes, die von der Gegenseite noch nicht bestätigt wurde.

Lokale Adresse

Die lokale Adresse (lokaler Rechnername) und Portnummer des Sockets. Außer bei Verwendung der -n Option wird die Socketadresse nach dem kanonischen
Rechnernamen und die Portnummer in den zugehörigen Dienstenamen aufgelöst.

Gegenadresse

Die Adresse und Portnummer der Gegenseite des Sockets. Wie bei lokalen Adressen werden mit -n Rechneradresse und Portnummer numerisch angezeigt.

State

Der Zustand des Sockets. Da RAW-Sockets keinen und UDP-Sockets üblicherweise keinen Zustand haben, kann diese Spalte leer bleiben. Normalerweise ist
sie einer von mehreren Werten:
VERBUNDEN
   Dieser Socket hat eine Verbindung hergestellt.
SYN_SENT
   Es wird versucht, auf dem Socket eine Verbindung aufzubauen.
SYN_RECV
   Eine Verbindungsanfrage wurde von der Gegenseite empfangen.
FIN_WAIT1
   Der Socket wurde geschlossen und die Verbindung wird beendet.
FIN_WAIT2
   Die Verbindung ist geschlossen und der Socket wartet darauf, dass sie von der Gegenseite ebenfalls geschlossen wird.
TIME_WAIT
   Der Socket ist nach dem Schließen im Wartezustand, um Pakete entgegenzunehmen, die sich eventuell noch im Netzwerk befinden.
CLOSE Der Socket wird nicht benutzt.
CLOSE_WAIT
   Die Gegenseite hat die Verbindung beendet und das Schließen des Sockets wird erwartet.
LAST_ACK
   Die Gegenseite hat die Verbindung beendet und der Socket ist geschlossen; die Bestätigung wird abgewartet.
LISTEN Der Socket wartet auf eingehende Verbindungen. Diese Sockets werden nur angezeigt, wenn die -a,--listening Option gewählt wird.
CLOSING
   Beide Sockets sind geschlossen, es wurden aber noch nicht alle Daten geschickt.
UNKNOWN
   Der Zustand des Sockets ist unbekannt.

Benutzer

Der Name oder die Benutzer-ID des Eigentümers des Sockets.

PID/Program name

Durch einen Schrägstrich abgetrenntes Paar von Prozess-ID und Programmname des Programms, das diesen Socket besitzt. Die Option -p schaltet die
Anzeige dieser Spalte ein. Es werden root Privilegien benötigt um die nötigen Daten zu erhalten. Für IPX Sockets sind diese Daten nicht verfügbar.

Timer

(dies muss noch geschrieben werden)

aktive Sockets in der UNIX Domäne Proto

das Protokoll (in der Regel unix), welches vom Socket verwendet wird

RefZäh

der Referenzzähler, d.h. die Zahl der Prozesse, die diesen Socket benutzen

Flaggen

die Flags, die angezeigt werden sind SO_ACCEPTON (angezeigt als ACC), SO_WAITDATA (W) oder SO_NOSPACE (N). SO_ACCECPTON wird auf unverbundenen
Sockets verwendet, wenn die zugehörigen Sockets auf Verbindungsanfragen warten. Die anderen Flags sind normalerweise nicht von Interesse.

Typ

Es gibt verschiedene Arten von Socketzugriff:
SOCK_DGRAM
   Der Socket wird im verbindungslosen Datagram-Modus verwendet.
SOCK_STREAM
   Dies ist ein verbindungsorientierter Stream-Socket.
SOCK_RAW
   Der Socket wird als RAW-Socket verwendet.
SOCK_RDM
   Dieser Socket bedient zuverlässig zugestellte Nachrichten.
SOCK_SEQPACKET
   Dies ist ein Socket, der die Zustellung in der richtigen Reihenfolge garantiert.
SOCK_PACKET
   Socket mit direktem (RAW) Zugriff auf die Schnittstelle.
UNKNOWN
   Wer weiß, was uns die Zukunft bringt, soll es hier hinschreiben :-)

Zustand

Dieses Feld enthält eines der folgenden Schlüsselworte:
FREI  Der Socket ist unbenutzt
HÖrt  Der Socket lauscht auf Verbindungsanfragen. Diese Sockets werden nur angezeigt, wenn die -a,--listening Option gesetzt ist.
VERBINDUNGSAUFBAU
   Auf dem Socket wird gerade eine Verbindung aufgebaut.
VERBUNDEN
   Auf dem Socket ist Verbindung aufgebaut.
VERBINDUNGSABBAU
   Die Verbindung des Sockets wird gerade abgebaut.
(empty)
   Der Socket hat keine Verbundung zu einem anderen Socket.
UNKNOWN
   Unbekannt - ein Socket sollte niemals in diesem Zustand sein.

PID/Programmname

Prozess-ID und Programmname des Programs, das diesen Socket hält. Details siehe oben unter Aktive Internetverbindungen.

Pfad

Zeigt den Pfad des Prozesses an, welcher den Socket hält.

Aktive IPX-Sockets

(Dieser Abschnitt sollte von jemandem, der davon Ahnung hat, geschrieben werden.)

Aktive NET/ROM-Verbindungen

(Dieser Abschnitt sollte von jemandem, der davon Ahnung hat, geschrieben werden.)

Aktive AX.25-Verbindungen

(Dieser Abschnitt sollte von jemandem, der davon Ahnung hat, geschrieben werden.)

Routingtabelle anzeigen

# netstat -r
Kernel IP routing table
Destination   Gateway     Genmask     Flags  MSS Window irtt Iface
192.168.1.0   *        255.255.255.0  U     0 0     0 eth0
default     192.168.1.254  0.0.0.0     UG    0 0     0 eth0

Interface Statistiken anzeigen

# netstat -i
Kernel Interface table
Iface    MTU Met  RX-OK RX-ERR RX-DRP RX-OVR  TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0    1500  0  26524   0   0   0  22118   0   0   0 BMRU
lo    16436  0    34   0   0   0    34   0   0   0 LRU

Problembehebung

  • Ändert sich der Zustand des Sockets, während er gerade angezeigt wird, so können unsinnige Informationen ausgegeben werden. Dies ist jedoch unwahrscheinlich.
  • Der beschriebene Parameter netstat -i sollte nach einigem Säubern der BETA-Version des Codes des Net-Tools Packets funktionieren.
  • Seit der Kern Version 2.2 zeigt netstat -i keine Schnittstellenstatistiken von Schnittstellenaliasen mehr an.
  • Um Statistiken per Schnittstelle zur erhalten, müssen jetzt mit dem iptables(8) Befehl explizite Regeln zugefügt werden.