Admins oder Anwender, die in Linux den Netzwerkverkehr überprüfen wollen, zum Beispiel für das Troubleshooting, können im Terminal auch auf ss oder netstat setzen. Wir zeigen in diesem Beitrag die Möglichkeiten dazu.
Netstat ist in Kombination mit ss in der Lage, zuverlässige Informationen zum Netzwerkverkehr eines Computers zu liefern.
(Bild: Joos - Canonical)
Um Netzwerkinformationen zum Netzwerkverkehr oder zu Ports auf einem Linux-Computer auszulesen, kommen oft netstat (Network Statstics) und ss (Socket Statistcs) zum Einsatz. Beide Tools liefern wertvolle Informationen, mit denen sich Netzwerkprobleme oft schnell identifizieren lassen. Netstat ist Bestandteil des Net-Tools-Paketes und lässt sich am Beispiel von Ubuntu mit „sudo apt install net-tools“ installieren.
Net-Tools erweitern Linux um wichtige Netzwerktools
Standardmäßig sind die Net-Tools selten auf Linux-Distributionen installiert. Neben netstat sind in dem Paket aber zahlreiche weitere Tools für das Terminal dabei, die für das Troubleshooting oder die Analyse der Netzwerkeinstellungen wichtig sind. Dazu gehören zum Beispiel ifconfig, arp, hostname oder route. Wir sind in einem eigenen Beitrag dazu auf die Möglichkeiten der Tools im Bereich der Sicherheits-Analyse von Netzwerken eingegangen.
In den meisten Fällen ist das Tool „ss“ bereits in Linux verfügbar und lässt sich parallel mit netstat nutzen. Vor allem zur Untersuchung der Kommunikation im Netzwerk können beide Tools wichtige Informationen liefern, auch zu den geöffneten Ports.
Mit ss die geöffneten Sockets in Linux anzeigen
Das Tool ss (Socket Statistics) in Linux dient der Analyse und Überwachung von Netzwerkverbindungen und -sockets. Es ist ein leistungsstärkerer Ersatz für das traditionelle Tool netstat. Bei der Eingabe von „ss“ zeigt das Tool die geöffneten Sockets des lokalen Computers an. Hier sind dann zum Beispiel die Daemons und Prozesse zu sehen, die auf Verbindungen warten sowie die Remote-Ports (Peers). Sollen die aktuell offenen Sockets auf einem Computer angezeigt werden, kommt „ss -l“ zum Einsatz.
Generell lassen sich alle Ausgaben auch in eine Datei umleiten, zum Beispiel mit „ss >> network_xps2“. Um die Anzeige nach Protokollen zu filtern, können noch „-t“ (TCP), „-u“ (UDP) oder „-x“ (Unix) genutzt werden. Bei der Analyse von Netzwerkverbindungen spielen auch die Prozess-IDs sowie die Anwendungen eine Rolle, die Sockets nutzen. Dazu wird der Parameter „-p“ genutzt. Noch ausführlichere Informationen liefert der Parameter „-e“. Hier sind auch weitere Timing-Optionen zu sehen.
Ein grundlegendes Einsatzszenario von ss ist die Überwachung aktiver Netzwerkverbindungen. Der Befehl ss -tuln zeigt alle TCP- und UDP-Sockets in ihrem aktuellen Zustand an, ohne Namensauflösung für Hosts oder Ports zu verwenden. Dies ist nützlich für die schnelle Identifizierung offener und lauschender Ports auf einem Server.
ss kann auch in Skripten verwendet werden, um Netzwerkinformationen zu sammeln oder bestimmte Bedingungen zu überwachen. Ein Bash-Skript könnte beispielsweise ss verwenden, um die Anzahl der aktiven Verbindungen zu einem bestimmten Port zu zählen und bei Überschreitung eines Schwellwertes eine Warnung auszugeben. Ein Beispielbefehl hierfür wäre: ss -Htn „( dport = :22 )“ | wc -l, welcher die Anzahl aktiver SSH-Verbindungen zählt.
Für tiefergehende Analysen unterstützt ss komplexe Filter, die es ermöglichen, Verbindungen basierend auf verschiedenen Parametern wie Zustand, Portnummer und mehr zu filtern. Zum Beispiel kann „ss state established '( dport = :80 or sport = :80 )' verwendet werden, um alle etablierten Verbindungen auf Port 80 zu untersuchen. Das ist besonders nützlich in Umgebungen mit hohem Datenaufkommen, um Engpässe oder ungewöhnliche Aktivitäten zu identifizieren.
ss lässt sich effektiv mit anderen Linux-Tools kombinieren. Die Ausgabe von ss kann beispielsweise mit grep oder awk verarbeitet werden, um spezifische Daten herauszufiltern oder Berichte zu generieren. Dies ermöglicht eine flexible Anpassung an die spezifischen Anforderungen einer Netzwerkumgebung.
Netstat mit ss einsetzen
Grundsätzlich lässt sich netstat gemeinsam mit ss einsetzen. Auch hier zeigt der Befehl ohne Eingabe von Parametern die aktuellen Verbindungen an. Die Optionen -t, -u und -x gibt es für netstat, genauso wie bei ss. Das gleiche gilt für den Listening-Modus „-l“. Um Statistiken zu zeigen kann „-s“ genutzt werden und „-c“ bietet eine dauerhafte Anzeige an.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Ein typischer Einsatz von netstat ist die Anzeige aller aktiven und passiven Verbindungen. Der Befehl netstat -a listet bspw. alle Sockets auf und bietet einen umfassenden Überblick über den Status des Netzwerks. Für die Überprüfung der Routingtabellen wird netstat -nr verwendet. Dieser Befehl zeigt die Routingtabelle des Systems an. Dies ist wesentlich für das Verständnis und die Diagnose der Wegewahl des Netzwerkverkehrs. Für detaillierte Informationen zu den einzelnen Verbindungen bietet sich der Befehl netstat -ant an. Dieser liefert eine Liste aller TCP-Verbindungen mit IP-Adressen und Portnummern, was bei der Fehlersuche hilfreich ist.
Wie bei ss kann auch die Ausgabe von netstat mit anderen Linux-Tools wie grep oder awk kombiniert werden, um spezifische Informationen herauszufiltern oder angepasste Berichte zu erstellen. Für eine tiefgreifende Analyse von Verbindungen zu einem bestimmten Server oder Dienst kann netstat mit weiteren Optionen und Pipe-Kommandos kombiniert werden. Zum Beispiel ermittelt netstat -atnp | grep 'ESTABLISHED' | grep '443' alle etablierten HTTPS-Verbindungen (Port 443). Mit der Option -p wird zusätzlich der Name des Prozesses angezeigt, der die Verbindung initiiert hat.
Um mit netstat in Echtzeit zu überwachen, kann es mit dem watch-Befehl kombiniert werden. Der Befehl watch -n 1 'netstat -ant' aktualisiert beispielsweise jede Sekunde die Anzeige der TCP-Verbindungen, was besonders bei der Beobachtung von dynamischen Netzwerksituationen hilfreich ist.
Fortgeschrittene Anwendung von netstat durch Kombination verschiedener Parameter
Die Kombination des netstat-Befehls mit der Option -o und -t kann zur Überwachung von TCP-Verbindungen mit zugehörigen Zeitstempeln verwendet werden. der Befehl netstat -ot zeigt alle TCP-Verbindungen mit den jeweiligen Timern an. Das ermöglicht es, die Dauer der einzelnen Verbindungen zu analysieren und potenzielle Probleme wie langanhaltende oder stagnierende Verbindungen zu identifizieren.
Für Serverumgebungen ist die Kombination von -a, -n und -p sehr nützlich. Der Befehl netstat -anp | grep 'LISTEN' zeigt alle Ports an, die auf eingehende Verbindungen warten, zusammen mit den zugehörigen Prozess-IDs. Mit netstat können Verbindungen nach ihrem Zustand und Protokoll gefiltert werden. Zum Beispiel listet netstat -atune | grep 'ESTABLISHED' alle etablierten TCP- und UDP-Verbindungen mit numerischen Adressen und Benutzerinformationen auf.
Für die Überwachung von IPv6-Verbindungen kombiniert man netstat mit der Option -6. Der Befehl netstat -a6 zeigt alle aktiven IPv6-Verbindungen und Ports an. Die Kombination von netstat mit awk erlaubt eine spezifischere Datenauswertung. Zum Beispiel kann netstat -ant | awk '/:80/ {print $5}' genutzt werden, um nur die Remote-Adressen der Verbindungen zum Port 80 anzuzeigen.
Für eine aggregierte Sicht auf die Daten kann netstat mit sort und uniq kombiniert werden. Beispielsweise hilft der Befehl netstat -an | grep 'ESTABLISHED' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr dabei, die Anzahl der Verbindungen pro Remote-IP-Adresse zu zählen und diese absteigend zu sortieren. Diese Art der Analyse ist nützlich, um Muster im Netzwerkverkehr zu identifizieren.