netstat ist ein Diagnose-Werkzeug, mit dem man verschiedene Informationen über den Status der Netzwerkschnittstelle(n) in Erfahrung bringen kann. Eine Alternative ist das Programm ss (socket state) aus dem Paket iproute.
Installation
Das Programm netstat ist im Paket net-tools enthalten.
net-tools
Verwendung
Die allgemeine Syntax lautet:
netstat [OPTIONEN]
Optionen
Das netstat-Programm wird vollständig über seine Kommandozeilen-Parameter gesteuert. Diese besitzen alle einen aussagekräftigen langen Namen, dem zwei Bindestriche vorangestellt werden. Die meisten Optionen bieten auch eine einstellige Kurzform, die durch einen einzelnen Bindestrich eingeleitet wird. Mehrere dieser Einzelbuchstaben können auch in eine Zeichenkette kombiniert werden. Dieser Artikel erhebt nicht den Anspruch der Vollständigkeit und behandelt nur die gängigen Optionen.
Modus
Das netstat-Tool vereint mehrere verschiedene Diagnose-Werkzeuge in einem. Durch die Modus-Option wird bestimmt, welche Art Informationen netstat ausgeben soll. Die Kombination mehrerer Modi in einem Befehl ist nicht möglich.
Option | Abk. | Beschreibung |
keine | Der Standard-Modus. Informiert über offene Netzwerk-Sockets. | |
--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 auf einem Router mit Network Address Translation. |
--groups | -g | Informationen über Multicast-Gruppen. |
Protokoll
Standardmäßig listet netstat alle Sockets auf, die auf dem System offen sind. Das schließt die oft sehr lange Liste sogenannter Unix-Sockets mit ein, die auf dem System intern zur Kommunikation zwischen Prozessen benutzt wird. Aus Gründen der Übersichtlichkeit bietet es sich deswegen an, die Ausgabe über die Angabe von Optionen auf die relevanten Informationen zu beschränken. Wird mindestens eine Protokoll-Option angegeben, beschränkt sich die Ausgabe auf das angegebene Protokoll. Die Verknüpfung mehrerer derartiger Optionen ist möglich.
Option | Abk. | Beschreibung |
--inet | -4 | Zeige nur IP-Sockets 🇩🇪 der am weitesten verbreiteten IP-Version 4 an. |
--inet6 | -6 | Zeige nur IP-Sockets der neueren Version 6 an. |
--unix | -x | Zeige nur Unix-Domain-Sockets an. |
--tcp | -t | Zeige nur TCP-Sockets an. |
--udp | -u | Zeige nur UDP-Sockets an. |
Art der Sockets
Sockets können entweder Teil einer bestehenden Verbindung sein oder wie im Falle von Serverdiensten "offen" auf eingehende Verbindungen warten.
Option | Abk. | Beschreibung |
keine | Der Standard. Zeige nur bestehende Verbindungen an. | |
--listening | -l | Zeige nur "offene Ports" an. |
--all | -a | Zeige beides an. |
Art der Ausgabe
Standardmäßig versucht netstat, IP-Adressen, Protokolle und Benutzer-IDs von Zahlen in Namen zu übersetzen. Das kann unerwünscht sein, weil z.B. durch die Namensauflösung von IP-Adressen evtl. selber Netzwerkverbindungen aufgebaut werden müssen, die dann das Ergebnis verfälschen oder im Falle eines gestörten DNS-Dienstes zu einer langen Wartezeit (bis zum Timeout) führen könnte.
Option | Abk. | Beschreibung |
--numeric | -n | Übersetze keine Nummern in Namen, sondern zeige die Nummern unverändert an. (Wie eine Kombination der folgenden drei Optionen.) |
--numeric-hosts | Übersetze keine IP-Adressen über den DNS-Dienst in Hostnamen. | |
--numeric-ports | Übersetze die Portnummern nicht mit Hilfe der Datei /etc/services in Servicenamen. | |
--numeric-users | Zeige die numerischen Benutzer-IDs an, statt Benutzernamen. |