netstat
netstat - Anzeige von Netzwerksverbindungen, Routentabellen, Schnittstellenstatistiken, maskierten Verbindungen, Netlink-Nachrichten und Mitgliedschaft in Multicastgruppen
Beschreibung
Netstat zeigt Informationen des Linux-Netzwerkssystems an.
- Neben netstat zeigt auch iptstate vorhandene Netzwerkverbindungen (mit Anzeige in Echtzeit).
Installation
Das Programm netstat ist im Paket net-tools enthalten.
# apt install net-tools
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.
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
Fehlerbehebung
- Ä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.
Syntax
netstat [-venaoc] [--tcp|-t] [--udp|-u] [--udplite|-U] [--sctp|-S] [--raw|-w] [--groups|-g] [--unix|-x] [--inet|--ip] [--ax25] [--ipx] [--netrom]
netstat [-veenc] [--inet] [--ipx] [--netrom] [--ddp] [--ax25] {--route|-r}
netstat [-veenpac] {--interfaces|-i}
netstat [-enc] {--masquerade|-M}
netstat [-cn] {--netlink|-N}
netstat {-V|--version} {-h|--help}
Optionen
keine | Der Standard-Modus. Informiert über offene Netzwerk- |
--route -r | Gibt die Routing-Tabelle des Kernels aus, ähnlich wie der route-Befehl. |
--interface -i | Gibt Statistiken über die übertragenen Pakete an den einzelnen Netzwerkschnittstellen aus. |
--statistics -s | Noch ausführlichere Statistiken. |
--masquerade -M | Liste aller aktuellen "maskierten" Verbindungen |
--groups -g | Informationen über Multicast-Gruppen. |
--help -h | Hilfe anzeigen |
- OPTIONEN
-v, --verbose
macht detailiertere Ausgaben. Insbesondere wird ausgegeben, welche Adressfamilien nicht im Kernel konfiguriert sind.
-n, --numeric
gibt numerische Adressen anstelle von Rechner-, Port- oder Benutzernamen aus.
-p, --programs
Zeigt den Prozessnamen und die PID des Eigentümers des Sockets, der ausgegeben wird oder ein Divis, falls der Socket dem Kernel gehört. Nur der Eigentümer eines Prozess oder Root haben alle dazu nötigen Privilegien.
-A, --af Familie
benutzt einen alternativen Weg, um Adressfamilien zu setzen. Familie ist eine durch Kommas getrennte Auflistung von Schlüsselworten für Adressfamilien wie inet, unix, ipx, ax25, netrom und ddp. Dies hat den gleichen Effekt wie die Optionen --inet, --unix, --ipx, --ax25, --netrom und --ddp.
-c, --continuous
Mit dieser Option wiederholt netstat im Sekundenabstand die Ausgabe, bis es abgebrochen wird.
- BESCHREIBUNG
(no option)
Ohne Optionen zeigt netstat den Zustand von offenen Sockets an. Wird keine Adressfamilie angegeben, dann werden die offenen Sockets aller konfigurierten Adressfamilien angezeigt. Die Option -e gibt zusätzliche Informationen aus (User ID). Mit der Option -v gibt netstat zusätzlich Fehlermeldungen über von Kernel nicht unterstützte Adressfamilien aus. Die Option -p gibt zusätzlich die PID und den Namen des Programms, das den Socket geöffnet hat, aus. -a zeigt alle Sockets einschließlich der auf Verbinungen wartenden Serversocketsan. Die Adressfamilie inet beinhaltet RAW, UDP und TCP Sockets.
-r, --route
Die -r, --route Option gibt die Routentabellen des Kernels im gleichen Format wie route -e aus. netstat -er benutzt das Ausgabeformat von route. Für Details siehe route(8).
-i, --interfaces
Wird die -i, --interfaces Option verwendet, so wird eine Tabelle aller Schnittstellen ausgegeben. Die Ausgabe ist im Format von ifconfig -e und wird in ifconfig(8) beschrieben. netstat -ei erzeugt eine Tabelle für Interfaces wie ifconfig. Die -a Option schließt nicht konfigurierte Schnittstellen in die Ausgabe ein (d.h. die das U=UP Flag nicht gesetzt haben).
-M, --masquerade
Hiermit wird eine Liste aller maskierten Sitzungen erstellt. Der -e Schalter schließt zusätzlich Informationen über Sequenznummern und Deltas, die durch das Umschreiben von FTP-Sitzungen (PORT Kommando) verursacht werden, ein. Maskieren wird verwendet, um Maschinen mit inoffiziellen Netzwerkssitzungen vor der Außenwelt zu verstecken. Dies wird in iptables(8) beschrieben.
-N, --netlink
Aktuelle Kernel unterstützen die Kommunikation zwischen Kernel und Anwendungen durch eine Option namens Netlink. Netlink ermöglicht, Informationen über die Erzeugung und das Löschen von Schnittstellen oder Routen von /dev/route (36,0) zu erhalten.
Parameter
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Option | Beschreibung |
---|---|
/etc/services | Die Zuordungstabelle für Netzwerksdienste |
/proc/net/dev | Informationen über Netzwerksschnittstellen |
/proc/net/raw | Informationen über RAW-Sockets |
/proc/net/tcp | Informationen über TCP-Sockets |
/proc/net/udp | Informationen über UDP-Sockets |
/proc/net/igmp | IGMP-bezogene Informationen |
/proc/net/unix | Informationen über UNIX-Sockets |
/proc/net/ipx | Informationen üeber IPX-Sockets |
/proc/net/ax25 | Informationen über AX25-Sockets |
/proc/net/appeltalk | Informationen über Appletalk-/DDP-Sockets |
/proc/net/nr | Informationen über NET/ROM-Sockets |
/proc/net/route | Informationen zu Kernelrouten |
/proc/net/ax25_route | Kernelinformationen zu AX25-Routen |
/proc/net/ipx_route | Kernelinformationen zu IPX-Routen |
/proc/net/nr_nodes | Kernelliste der NET/ROM-Knoten |
/proc/net/nr_neigh | Kernelliste der NET/ROM-Nachbarn |
/proc/net/ip_masquerade | Liste der maskierten Verbindungen |
Sicherheit
Dokumentation
RFC
Man-Pages
- NETSTAT(8)
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
Einzelnachweise
Testfragen
Wie lautet der Befehl um Routing Tabellen anzeigen zulassen?
netstat -r
Wie lautet der Befehl um Interface Statistiken anzeigen zulassen?
netstat -i
Testfrage 3
Testfrage 4
Testfrage 5
Manpage
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.)