Netstat/Anwendungen
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.