So überwachen Sie Netzwerkverbindungen unter Linux mit ss
Linux-Dienstprogramme sind ein Lebensretter für Serveradministratoren, wenn es um die Fehlerbehebung und Behebung von Netzwerkproblemen geht. Bisher verwendeten Administratoren den Befehl netstat, um Netzwerkstatistiken und andere Socket-bezogene Informationen unter Linux anzuzeigen. Aber dieser Befehl ist jetzt für ein besseres Werkzeug veraltet.
Der Befehl ss hat netstat ersetzt, da er detailliertere Informationen liefert als sein Vorgänger. In diesem Artikel wird gezeigt, wie Sie mit ss Socket-bezogene Informationen aus Ihrem System extrahieren können.
Was ist der ss-Befehl?
Der Befehl ss, kurz für socket statistics, ist ein Linux-Dienstprogramm, das Informationen zu Netzwerkverbindungen in einem detaillierten und lesbaren Format anzeigt. Sie können ss verwenden, um Probleme mit Ihrem Netzwerk zu beheben und zu finden, da es vollständige Details zu den Verbindungen bereitstellt.
Wie bereits erwähnt, ersetzt ss netstat, das ursprüngliche Dienstprogramm zum Auflisten von Socket-Statistiken unter Linux. Der Befehl ss ist einfach zu verwenden, bietet mehr Informationen und liefert schnelle und genaue Ergebnisse.
So verwenden Sie ss unter Linux
Mit ss können Sie alle Socket-Verbindungen auf Ihrem System auflisten. Darüber hinaus ist auch eine Filterung der Verbindungen nach Typ, Zieladresse und Portnummer möglich.
Grundsyntax
Die grundlegende Syntax des ss-Befehls lautet:
ss options
…wobei Optionen das Flag ist, mit dem Sie die Funktionen des Befehls aufrufen können.
Der einfachste ss-Befehl zeigt eine Liste aller aufgebauten Verbindungen an, unabhängig vom Verbindungstyp.
ss
Ausgabe:
Beachten Sie in der obigen Abbildung, dass die Spalte State nur einen einzelnen Wert enthält, dh ESTAB, der eine hergestellte Verbindung bezeichnet.
In der Ausgabe finden Sie folgende Spaltenüberschriften:
- Netid : Dies bezeichnet den Typ des Sockets, der für die Verbindung verwendet wird. Mögliche Werte sind TCP, UDP, u_seq (Unix-Sequenz) und u_str (Unix-String).
- State : Die Spalte State zeigt den Status der Verbindung an. Sie finden Werte wie ESTAB, UNCONN und LISTEN, die für Established, Unconnected bzw. Listening stehen.
- Recv-Q : Die Anzahl der empfangenen Pakete in der Warteschlange.
- Send-Q : Die Anzahl der gesendeten Pakete in der Warteschlange.
- Lokale Adresse und Port : Die lokale Adresse des Computers des Benutzers und die Portnummer.
- Peer-Adresse und Port : Die Adresse des Zielcomputers und die Portnummer.
Holen Sie sich eine Liste aller Steckdosen
Verwenden Sie das Flag -a , um alle im Netzwerk vorhandenen Sockets anzuzeigen, die hören oder nicht hören.
ss -a
Ausgabe:
Alle aktuellen Listening-Sockets auflisten
Um nur Informationen zu den derzeit lauschenden Sockets abzurufen, verwenden Sie das Flag -l mit dem Befehl. Das -l steht für Zuhören .
ss -l
Ss zeigt alle aktiven Listening-Sockets auf Ihrem Gerät oder Netzwerk an. Beachten Sie, dass fast jede Buchse im Ausgang einen unverbundenen Zustand hat.
Sobald ein lauschender Socket eine eingehende Verbindung erhält, erstellt er einen untergeordneten Socket und verwendet ihn, um die Verbindung aufzubauen. Anschließend können Sie das Linux-Dienstprogramm tcpdump verwenden , um Pakete in Ihrem Netzwerk zu überwachen und zu filtern.
TCP-, UDP- und Unix-Verbindungen anzeigen
Unter Linux gibt es verschiedene Arten von Sockets, einschließlich TCP-, UDP- und Unix-Sockets. Mit ss können Sie alle Verbindungen auflisten, die zu einem bestimmten Socket-Typ gehören.
So listen Sie jeden TCP-Socket auf Ihrem Computer auf:
ss -t
Ausgabe:
Das Flag -u zeigt eine Liste aller UDP-Sockets an:
ss -u
Ausgabe:
Um eine Liste von Unix-Sockets mit ss abzurufen, verwenden Sie das Flag -x :
ss -x
Ausgabe:
Standardmäßig zeigt ss nur die verbundenen Sockets an. Um eine Liste aller Sockets unabhängig vom Verbindungsstatus zu erhalten, verwenden Sie das Flag -a mit dem Befehl:
ss -ta
ss -ua
ss -xa
Filtern von TCP-Verbindungen anhand des Status
TCP-Sockets haben mehrere Zustände, die Sie zum Filtern der Ergebnisse verwenden können. Sie können die folgenden Socket-Zustände verwenden, um die Verbindungen mit ss zu filtern: Established, Closed, Listening, Closing, All, connected, Synchronized, Bucket, Big, Time-Wait usw.
Das grundlegende Format zum Filtern von TCP-Verbindungen anhand des Verbindungsstatus ist:
ss -t state filter
…wobei filter der Zustand der Verbindungen ist, z. B. hergestellt.
IPv4- und IPv6-Verbindungen auflisten
Sie können die Flags -4 und -6 verwenden , um eine Liste der IPv4- und IPv6-Sockets auf Ihrem Gerät abzurufen:
ss -4
ss -6
Ausgabe:
Sie können auch die State-Methode verwenden, um IPv4- und IPv6-Sockets zu filtern.
ss -4 state established
ss -6 state established
Verbindungen anhand der Portnummer filtern
Sie können die dport- und sport- Werte im ss-Befehl angeben, um Verbindungen anhand der Portnummer und des Protokolls zu filtern. Die dport und Sportmöglichkeiten stehen für Ziel – Port und Quell – Port verbunden.
So rufen Sie Informationen zu Verbindungen mit dem Quellport 39700 oder dem Zielport https ab :
ss -ta '( dport = :https or sport = :39700)'
Ausgabe:
Sie können auch die State-Methode in Verbindung mit dem Portfilter verwenden, um genaue Ergebnisse zu erhalten:
ss -ta state established '( dport = :https or sport = :https )'
Auflisten von Raw-Sockets mit ss
Sie können das Flag -w oder –raw verwenden, um Raw-Sockets auf Ihrem Gerät anzuzeigen:
ss -w
ss --raw
Ausgabe:
Verbindungen mit einem bestimmten Gerät anzeigen
Mit ss können Sie auch eine Liste von Verbindungen mit einer bestimmten Zieladresse anzeigen.
ss dst ipaddress
…wobei ipaddress die Adresse des Zielgeräts ist.
Beispielsweise:
Prozess-IDs der Verbindungen anzeigen
Bei der Fehlerbehebung in einem Netzwerk kann es sehr hilfreich sein, die Prozess-ID der problematischen Verbindung zu kennen.
So zeigen Sie die mit TCP-Verbindungen verknüpften PIDs an:
ss -t -p
Ss zeigt auch den Namen der Anwendung an, die die Verbindung hergestellt hat.
Darüber hinaus können Sie mit dem Befehl ps detailliertere Informationen zum Vorgang abrufen .
Erhalten Sie eine Zusammenfassung der Netzwerkstatistiken
Das Flag -s ermöglicht es einem Benutzer, die Gesamtzusammenfassung seines Netzwerks oder Geräts anzuzeigen. Die Zusammenfassung enthält die Anzahl der Verbindungen insgesamt, die Anzahl und Art der Steckdosen usw.
ss -s
Ausgabe:
Senden Sie die Ausgabe an eine Datei
Sie können die Ausgabe des ss-Befehls auch in einer Datei speichern, um später darauf zurückgreifen zu können, indem Sie den Ausgabeoperator > verwenden .
ss > output.txt
Ausgabe:
Implementieren von ss mit grep
Wenn Sie die von ss bereitgestellten Daten filtern möchten, sich aber nicht an das Format des Befehls erinnern können, können Sie grep mit ss weiterleiten, um die gewünschten Ergebnisse zu erhalten.
Um beispielsweise eine Liste aller eingerichteten TCP-Verbindungen mit ss und grep zu erhalten:
ss -t | grep ESTAB
Ausgabe:
Überwachen von Netzwerkverbindungen unter Linux
Unter Linux gibt es für alles einen Befehl. Vom Erstellen von Dateien bis zum Überwachen von Netzwerken nennen Sie es. Aber bei dieser riesigen Sammlung von Dienstprogrammen stellt sich die Frage, welches das Beste ist.
Abgesehen von der Softwareseite eines Computers sollten Benutzer auch die Hardwarespezifikationen ihres Systems kennen. Es stehen mehrere Befehle zur Verfügung, die es einem Benutzer ermöglichen, auf einfache Weise Informationen zu seinem System und seiner Hardware zu extrahieren.