Überblick über ss
`ss` Befehl funktioniert viel schneller als `netstat`, da er direkt über die `netlink` Schnittstelle des Kernels Socket-Informationen abruft, insbesondere in Systemen mit einer großen Anzahl von Verbindungen. Zudem bietet es mehr TCP-Zustandsinformationen und detaillierte Socket-Statistiken, die `netstat` nicht bereitstellt. Die Verwendung von `ss` wird dringend empfohlen, wenn es darum geht, netzwerkbezogene Informationen auf modernen Linux-Systemen abzurufen.
Hauptfunktionen von ss
`ss` Befehl wird hauptsächlich für folgende Zwecke verwendet:
Hauptanwendungsbereiche
- Überprüfung von Netzwerkverbindungen und hörenden Ports: Zeigt alle aktiven TCP, UDP und UNIX-Sockets des Systems an.
- Prozess-Port-Zuordnung: Überprüft, welcher Prozess einen bestimmten Port verwendet.
- Überprüfung der Routing-Tabelle: Zeigt die Routing-Tabelle an, die den Pfad definiert, den IP-Pakete nehmen.
- Statistiken der Netzwerkinterfaces: Bietet Statistiken über den Versand und Empfang von Paketen für jedes Netzwerkinterface.
- Detaillierte Analyse des Socket-Zustands: Analysiert detailliert den Status von TCP-Verbindungen (z.B. `ESTAB`, `LISTEN`, `TIME-WAIT` usw.) und Statistiken.
`ss` vs `netstat`
`ss` ist eine moderne und leistungsstarke Alternative zu `netstat`.
- ss: Modern, schnell, direkter Zugriff auf Socket-Statistiken des Kernels, vollständige Unterstützung für IPv6, bietet mehr Filteroptionen.
- netstat: Legacy-Tool, basiert auf dem `/proc` Dateisystem, kann bei großen Verbindungen langsam sein, unvollständige Unterstützung für IPv6.
Wichtige ss-Befehloptionen
`ss` Befehl ermöglicht es, verschiedene Optionen zu kombinieren, um die gewünschten Netzwerkinformationen detailliert zu filtern und anzuzeigen.
1. Filterung nach Socket-Typ und Zustand
2. Ausgabeformat und Detailinformationen
3. Routing und anderes
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`ss` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Beispiele
Erfahren Sie durch verschiedene Anwendungsbeispiele des `ss` Befehls, wie Sie die Netzwerkverbindungen und Socket-Zustände Ihres Systems effektiv überwachen und analysieren können.
Überprüfung aller aktiven TCP-Verbindungen und hörenden Ports
sudo ss -tulpn
Zeigt alle aktivierten TCP-Sockets (einschließlich hörender) im numerischen Adressformat an und zeigt auch die zugehörigen Programmnamen und PIDs an.
Überprüfung nur aller hörenden TCP-Ports
sudo ss -tlpn
Zeigt alle Ports an, die auf Verbindungen warten, im numerischen Format an. Nützlich, um zu überprüfen, ob Dienstports wie Webserver oder Datenbanken geöffnet sind.
Überprüfung der Prozesse, die einen bestimmten Port verwenden
sudo ss -tlpn | grep :22
Überprüft detaillierte Informationen aller TCP-Verbindungen und hörenden Ports, die Port `22` (SSH) verwenden. (Nützlich für die Diagnose von SSH-Servern)
Überprüfung aller TCP-Verbindungen im STATUS ESTABLISHED
ss -t state established
Zeigt alle aktiven TCP-Verbindungen an, die derzeit Datenkommunikation durchführen. Nützlich, um zu überprüfen, ob externe Verbindungen normal sind.
Überprüfung der Anzahl der Sockets im STATUS TIME-WAIT
ss -s | grep -i time-wait
Überprüft die Anzahl der Sockets, die nach dem Beenden einer TCP-Verbindung im `TIME-WAIT` Zustand verbleiben. Eine zu hohe Anzahl kann zu Ressourcenerschöpfung des Systems führen.
Überprüfung aller UDP-Sockets
ss -ulpn
Überprüft alle UDP-Socket-Verbindungen und hörenden Ports, die derzeit auf dem System verwendet werden.
Überprüfung der Routing-Tabelle
ss -r
Zeigt die IP-Routing-Tabelle des Systems an. Ähnlich wie `ip route show`.