In der Linux-Netzwerkanalyse stehen zwei beliebte Tools im Mittelpunkt: netstat und ss. Obwohl beide ähnliche Funktionen erfüllen, gibt es signifikante Unterschiede, die es wert sind, genauer betrachtet zu werden. In diesem Blog-Beitrag werden wir die Unterschiede zwischen netstat und ss herausarbeiten und aufzeigen, warum ss immer häufiger als das bevorzugte Tool für die Netzwerkanalyse unter Linux gilt.

  1. Geschwindigkeit und Effizienz:
    Netstat war lange Zeit das Standardwerkzeug für Netzwerkanalysen in Linux. Allerdings kann es bei großen Netzwerken und hohen Lasten langsam und ineffizient werden. Hier kommt ss ins Spiel. Mit einer verbesserten Performance und Effizienz bietet es schnellere Ausführungszeiten und skaliert besser für komplexe Netzwerkumgebungen.
  2. Detaillierte Socket-Informationen:
    Netstat bietet grundlegende Informationen über Netzwerkverbindungen, während ss detailliertere Informationen liefert. Mit ss können Sie umfangreiche Informationen über Sockets, wie z.B. Zustände, Timer-Informationen, Verbindungsarten und Prozessinformationen, anzeigen. Dies ermöglicht eine genauere Analyse und Diagnose von Netzwerkproblemen.
  3. Umfangreiche Filteroptionen:
    Sowohl netstat als auch ss unterstützen die Filterung von Ergebnissen. Allerdings bietet ss erweiterte Filteroptionen, die detailliertere Analysen ermöglichen.
AngebotBestseller Nr. 1
Ubiquiti AP Unifi U6+ 3.0 Gbps, RJ45 ohne PoE-Injektor
Ubiquiti AP Unifi U6+ 3.0 Gbps, RJ45 ohne PoE-Injektor
Dual-band WiFi 6 support
−17,00 EUR 97,90 EUR Amazon Prime

Hier jetzt ein paar Beispiele mit dem Tool “ss”.

Anzeigen aller TCP-Verbindungen:

 ss -t

Dieser Befehl zeigt alle aktiven TCP-Verbindungen auf dem System an, einschließlich Quell- und Zieladressen, Zustände, Ports und Timer-Informationen.

Anzeigen alle aktuell geöffnete Ports mit TCP & UDP

ss -tuln

ss -tuln zeigt alle aktuell geöffneten Ports bei TCP und UDP. wenn ein -p noch dazu gegeben wird, dann wird auch entsprechend der dazugehörige Prozess angezeigt.

Anzeigen von offenen Sockets, die auf einen bestimmten Port lauschen:

ss -tlnp sport = :8080

Mit diesem Befehl können Sie alle Sockets anzeigen, die auf Port 8080 lauschen. Es zeigt auch die zugehörigen Prozessinformationen an.

Anzeigen von IPv6-Multicast-Gruppen:

ss -lm6

Dieser Befehl listet alle IPv6-Multicast-Gruppen auf, denen das System beigetreten ist. Es zeigt die Gruppenadresse, Quelladresse, Netzwerkschnittstelle und Mitgliedschaftsintervallzeit an.

Anzeigen von UDP-Sockets, die mit einer bestimmten Adresse und Port verbunden sind:

ss -uln dst 192.168.0.1:53

Mit diesem Befehl können Sie alle UDP-Sockets anzeigen, die mit der Adresse 192.168.0.1 und dem Port 53 verbunden sind.

Anzeigen von TCP-Sockets mit einem bestimmten Status:

shell ss -t state established

Dieser Befehl zeigt alle TCP-Sockets im Status “established” an, also aktive Verbindungen.

Im Vergleich zu netstat bietet ss zusätzliche Optionen für erweiterte Netzwerkfunktionen. Beispielsweise können Sie mit ss TCP-Timestamps, TCP-SACK (Selective Acknowledgment) und andere erweiterte Funktionen anzeigen. Diese Funktionen können bei der Fehlersuche und der Optimierung der Netzwerkleistung von großem Nutzen sein.

Fazit

Netstat war lange Zeit das Hauptwerkzeug für Netzwerkanalysen unter Linux. Doch mit der Einführung von ss haben sich die Zeiten geändert. Ss bietet eine verbesserte Leistung, umfangreichere Informationen, erweiterte Filteroptionen und zusätzliche Netzwerkfunktionen. Es hat sich als effizienteres und leistungsfähigeres Tool etabliert, das den Anforderungen moderner Netzwerkumgebungen besser gerecht wird. Daher empfiehlt es sich, ss als bevorzugtes Werkzeug für die Netzwerkanalyse in Linux einzusetzen und die Vorteile seiner erweiterten Funktionen und Effizienz zu nutzen.