Skip to content

Zeig mir deine Ports - netstat oder ss

Das Netzwerkdiagnose Tool netstat gehört zum Standardrepertoire vieler Administratoren. Die Netzwerkstatistiken sind aus den 90er Jahren und ermöglichen unter Linux eine Auflistung offener Ports oder TCP/UDP Verbindungen.

Da das Tool nur auf der Kommandozeile existiert wird es jedem Windows Nutzer wohl nicht unbedingt bekannt sein (eher TCPView), aber auch hier ist es integriert und kann ähnlich wie unter Linux verwendet werden.

Folgender beispielhafte netstat Befehl zeigt unter Linux die relativ nützliche Funktion des Tools.

netstat -lnp

Zur Erklärung: Das -l listet die Verbindungen auf, wobei -p PID bzw. den Programmnamen auflistet und -n eine nummerische Ausgabe der Ports forciert

PS: Unter Windows lässt sich eine ähnliche Ausgabe mit netstat -an erreichen.

netstatWeiter möchte ich auf netstat aus dem net-tools Paket nicht eingehen. Erstens gilt es als veraltet (aber beliebt) und zweitens dürften die Funktionen den meisten bekannt sein. Darum ein kurzer Blick auf die Alternative.


ss - socket statistics

Wie bereits oben erwähnt, ist netstat schon etwas älter. Mit den socket statistics existiert ein weiteres und neueres Tool, welches ähnliche Funktionen bietet.

Die Funktionsweise ist den netstats angelehnt, was am folgenden Beispiel zu erkennen ist.

ss -ln

Hier steht das -l für alle bestehenden Verbindungen, das -n listet Portnummern statt Namen auf.

Die Verwendung von -n beschleunigt zusätzlich die Ausgabe, da keine Hostnamen aufgelöst werden müssen.

Weitere praktische Befehle sind ebenfalls möglich:

ss -lt

Dieser Befehl listet bestehende tcp Verbindungen auf.

ss -lu

Dieses Kommando listet bestehende udp Verbindungen auf, mit -lua lassen sich alle Verbindungen anzeigen.

ss -p

Wie bei netstat werden hier die Prozess IDs (PID) gelistet.

ss -s

Abschließend bietet -s einen Überblick über alle Verbindungen (siehe Screenshot)

ss

Neben diesen eher alltäglichen Befehlen bietet ss viele weitere Möglichkeiten das Netzwerk zu untersuchen.

So besteht die Möglichkeit der Filterung nach Zieladresse (ss -nt dst 192.168.11.232) oder bestimmten Ports (ss -nt '( dst :443)') bestehenden IPv4 Verbindungen (ss -t4 state established) oder nur IPv6 (ss -tl6).

ss Befehlsübersicht

Einen Überblick aller Befehle verschafft ihr euch unter man ss oder via help (siehe Screenshot). 

ss-befehl

Sollten die Socket Statistics nicht auf dem System verfügbar sein, sollte das Paket iproute2 nach installiert werden.

Fazit

Alleine schon wegen des Alters von netstat und der nicht mehr vorhandenen Paketaktualisierung rückt Socket Statistics in den Vordergrund. 
Durch die Mehrzahl an Funktionen, sollten sich auch Nostalgiker langsam aber sicher auf das moderne Tool einstellen.

Manche Funktionen kann aber auch die neue Alternative nicht ersetzen, so muss für netstat -r auf iproute umgestiegen werden, da ss dies nicht mehr unterstützt.
 

Linux - Dstat Monitor vereint netstat, vmstat, iostat und ifstat

Aktuelle Messdaten sind bei jedem System interessant, egal ob Linux oder Windows. Bei ersterem gibt es für eine schnelle Überprüfung diverser Messwerte nützliche Kommandozeilen Tools.

Da wäre vmstat für RAM und CPU Werte, iostat für Schreib- und Lesezugriffe, netstat für den Netzwerkverbindungen und ifstat für den Netzwerkdurchsatz.

Beim Einsatz aller Tools erhält der Anwender verschiedene und verteilte Ausgaben. Viel praktischer wäre eine Gesamtausgabe alle überwachten Daten.

Dstat 

Hier kommt Dstat ins Spiel. Das kleine Programm vereint wichtige Tools unter einer Haube und erlaubt es den Überblick über die Systemwerte zu behalten.

Installiert ist das Programm mit einem Befehl

sudo apt-get install dstat 

Gleiches gilt für den ersten Start, hier müssen nicht zwingend weitere Parameter angegeben werden, ein einfaches "dstat" genügt

dstat

Neben der Standardausgabe beherrscht das Tool noch einiges mehr. Die volle Befehlspalette kann mit "dstat --help" abgerufen werden. Hier ein paar Befehle in der Übersicht

  • -l  --> load stats aktivieren
  • -m --> memory stats aktivieren
  • -s --> swap stats aktivieren
  • -nocolor --> no colors
  • -s --> swap stats aktivieren
  • --socket --> socket stats aktivieren
  • --tcp --> tcp stats aktivieren
  • --udp --> udp stats aktivieren
  • --unix --> unix stats aktivieren
  • --vm --> vm stats aktivieren
  • --output --> in Datei speichern

Neben üblichen Kommandos stehen Plugins zur Verfügung, welche wichtige Funktionen bündeln. Plugins lassen sich mit "ls -l /usr/share/dstat" auflisten. Brauchbare wären beispielsweise

  • -top_mem
  • -top_cpu
  • -freespace
  • -disk-util

So lassen sich schnell einfache Befehle zusammenstellen, die für den Alltag nützlich sind. Hier zwei Beispiele

dstat -c -s -l --proc-count --top-mem

dstat –output stats.csv -cdnm