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:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - basic ss command usage e1625461842626

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:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - list of all sockets linux e1625462428367

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.

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - listening sockets in ss linux e1625462746558

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:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - tcp sockets in linux e1625468464714

Das Flag -u zeigt eine Liste aller UDP-Sockets an:

 ss -u

Ausgabe:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - udp sockets in linux e1625468476773

Um eine Liste von Unix-Sockets mit ss abzurufen, verwenden Sie das Flag -x :

 ss -x

Ausgabe:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - unix sockets using ss linux e1625468486111

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.

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - filter connections using state e1625463916497

Verwandte: Allgemeine Begriffe für Heimnetzwerke und ihre Bedeutung

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:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - listing ipv4 and ipv6 sockets e1625463692665

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 ZielPort und QuellPort verbunden.

So rufen Sie Informationen zu Verbindungen mit dem Quellport 39700 oder dem Zielport https ab :

 ss -ta '( dport = :https or sport = :39700)'

Ausgabe:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - filter connections with port number e1625465262562

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:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - raw sockets ss linux e1625464446326

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:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - filtering connections with a device e1625464646599

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.

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - process id of connection using ss e1625464872248

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:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - display summary ss

Erfahren Sie mehr: Warum Sie Linux-Netzwerktools in WSL verwenden sollten

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:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - sending output to a file e1625465508177

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:

So überwachen Sie Netzwerkverbindungen unter Linux mit ss - piping grep with ss linux e1625466079857

Ü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.