GNU/Linux >> LINUX-Kenntnisse >  >> Linux

SS-Befehl in Linux mit nützlichen Beispielen

Das ss-Tool ist ein CLI-Befehl, der verwendet wird, um Informationen über den Netzwerk-Socket in Linux anzuzeigen. Das ss steht für Socket Statistics. Es ist ein ähnliches Tool wie netstat, das mehr Informationen wie TCP und Statusinformationen anzeigen kann.

Das ss-Tool wird mit dem iproute2-Paket geliefert. Es kann Statistiken für PACKET-, TCP-, UDP-, DCCP-, RAW- und Unix-Domain-Sockets anzeigen.

In diesem Tutorial lernen wir den ss-Befehl in Linux mit nützlichen Beispielen.

1. Netzwerkverbindung auflisten

Der Befehl ss ohne Optionen listet alle offenen, nicht lauschenden Sockets (z. B. TCP/UNIX/UDP) auf, die eine Verbindung hergestellt haben.

$ ss
  1. Netid:Zeigt die Arten von Sockets an.
  2. Zustand:Zeigt den Zustand eines Sockets an, wenn er aufgebaut (ESTAB), nicht verbunden (UNCONN) oder lauschend (LISTEN) ist.
  3. Recv-Q:Zeigt die Anzahl der empfangenen Pakete in der Warteschlange an.
  4. Send-Q:Zeigt die Anzahl der gesendeten Pakete in der Warteschlange an.
  5. Lokale Adresse:Port :Zeigt die Adresse des lokalen Rechners und Ports an.
  6. Peer-Adresse:Port:Zeigt die Adresse des entfernten Rechners und den Port an.

Sie können detailliertere Informationen erhalten, indem Sie den Befehl ss in Verbindung mit Optionen verwenden. Sie können auch mehrere Optionen gleichzeitig auswählen.

ss-Befehlssyntax:

$ ss [Option]
$ ss [Option1] [Option2] [Option3]

2. Abhör-Sockets auflisten

Um die Liste der Listening Sockets mit -l anzuzeigen oder --listen Option.

$ ss -l

3. Alle Steckdosen auflisten

Mit -a können Sie alle lauschenden und nicht lauschenden Netzwerkverbindungen auflisten oder -all Option.

$ ss -a 

4. TCP-Verbindung auflisten

Um die TCP-Socket-Verbindung anzuzeigen, verwenden Sie den -t oder --tcp Option.

$ ss -t

Zum Anzeigen der Liste aller TCP-Verbindungen , können Sie den -a verwenden und -t Optionen. Dazu gehören alle Zustände des Sockets.

$ ss -at

Um die TCP-Verbindung für alle Listening-Zustände anzuzeigen, kombinieren Sie -l und -t Optionen.

$ ss -alt

5. UDP-Verbindung auflisten

Um die UDP-Socket-Verbindung anzuzeigen, verwenden Sie -u oder --udp Option.

$ ss -u

Zum Anzeigen der Liste aller UDP-Verbindungen verwenden Sie -a und -u Optionen. Dazu gehören alle Zustände des Sockets.

$ ss -au

Sie können -l kombinieren und -u um die UDP-Verbindung für alle Listening-Zustände anzuzeigen .

$ ss -lu

6. Unix-Sockets auflisten

Um alle Unix-Sockets anzuzeigen, können Sie den Befehl ss zusammen mit -f unix verwenden oder -x .

$ ss -f unix

7. Raw-Sockets auflisten

Um alle Raw-Sockets anzuzeigen, können Sie -w verwenden oder --raw-Option.

$ ss -w

8. Verbindung einer IP-Adresse auflisten

Wir können den Befehl ss verwenden, um die Listenverbindung einer bestimmten Ziel- oder Quell-IP-Adresse anzuzeigen.

Zum Beispiel, um die Verbindung der Ziel-IP-Adresse aufzulisten:

$ ss dst 13.227.138.30

Zum Beispiel, um die Verbindung der Quell-IP-Adresse aufzulisten:

$ ss src 192.168.18.151

9. IPv4- und IPv6-Socket-Verbindung auflisten

Wenn Sie die Liste der IPv4-Socket-Verbindungen anzeigen möchten, verwenden Sie die Option -4 und -6, um die Liste der IPv6-Socket-Verbindungen anzuzeigen.

So zeigen Sie die IPv4-Socket-Verbindungsliste an:

$ ss -4

So zeigen Sie die IPv6-Socket-Verbindungsliste an:

$ ss -6

Um alle IPv4-TCP-Verbindungen aufzulisten, können Sie das folgende Beispiel verwenden.

$ ss -at4

10. Prozesse identifizieren

Sie finden die Sockets-Prozesse mit dem -p Option zusammen mit dem Befehl ss. Um den Prozess zu identifizieren, benötigen Sie die sudo-Berechtigung.

$ sudo ss -t -p 

11. Verbindung ohne Hostnamenauflösung auflisten

Verwenden Sie zum Auflösen der numerischen Adresse/Ports die Option -r (Resolve). Während die -n Option versucht nicht, Dienstnamen aufzulösen.

Hier im Beispiel sehen Sie den Unterschied zwischen den beiden:

$ ss -tn
 State  Recv-Q Send-Q  Local Address:Port Peer Address:Port   Process
 ESTAB  0      0       74.208.235.196:22  48.192.234.17:60216
$ ss -tr
 State  Recv-Q Send-Q Local Address:Port         Peer Address:Port  Process
 ESTAB  0      64     li82-186.members.linode.com:ssh                          n47-172-231-17.sun4.vic.optusnet.com.au:60317
$

12. Nach Verbindung filtern

Sehen wir uns einige Beispiele an, wie Filter angewendet werden, um bestimmte Informationen auszugeben.

Geben Sie zum Filtern der TCP-Verbindung mit Zustandsüberwachung Folgendes ein:

$ ss -t state listening

So zeigen Sie hergestellte SSH-Port-Verbindungen an:

$ ss -tr state established '( dport = :22 or sport = :22 )'

Sie können auch auf die herkömmliche Art und Weise mit dem grep-Befehl filtern. Hier zeige ich alle TCP-Verbindungen an, die im Zustand lauschen:

$ ss -at | grep LISTEN

ss-Befehlsoptionen

Der Befehl ss bietet verschiedene Optionen, um die anzuzeigende Ausgabe gemäß Ihren Anforderungen zu steuern. Sie können -h oder --help zusammen mit dem Befehl ss verwenden, um die grundlegenden Optionen anzuzeigen, die mit dem Befehlsdienstprogramm ss verfügbar sind.

$ ss -h

Befehl ss vs netstat

Das ss-Tool ist im iproute2-Paket enthalten und in den meisten Linux-Distributionen standardmäßig enthalten. Um netstat zu haben, müssen Sie net-tools installieren, das bereits veraltet ist. Der Befehl ss ist viel schneller, da er direkt vom Kernel abruft. Der ss ist kein vollständiger Ersatz für netstat, einige der netstat-Befehle wurden durch den ip-Befehl ersetzt.

Schlussfolgerung

In diesem Tutorial haben wir anhand einiger nützlicher Beispiele etwas über den Befehl ss gelernt. Weitere Informationen finden Sie in der Manpage des Befehls ss.


Linux
  1. wc Linux-Befehl mit Beispielen

  2. 12 nützliche Wget-Befehlsbeispiele unter Linux

  3. Linux Tee-Befehl mit Beispielen

  4. Linux-Kopfbefehl mit Beispielen

  5. JQ-Befehl in Linux mit Beispielen

Tr-Befehl in Linux mit Beispielen

15 Linux-PS-Befehl mit Beispielen

Linux-CD-Befehl mit Beispielen

Linux-Befehl modprobe mit nützlichen Beispielen

pwd-Befehl in Linux mit nützlichen Beispielen

Linux-IP-Befehl mit Beispielen