GNU/Linux >> Tutoriels Linux >  >> Linux

Commande SS sous Linux avec des exemples utiles

L'outil ss est une commande CLI utilisée pour afficher des informations sur le socket réseau sous Linux. Le ss signifie statistiques de socket. C'est un outil similaire à netstat, qui peut afficher plus d'informations telles que TCP et des informations d'état.

L'outil ss est fourni avec le package iproute2. Il peut afficher des statistiques pour les sockets de domaine PACKET, TCP, UDP, DCCP, RAW et Unix.

Dans ce tutoriel, nous apprenons la commande ss sous Linux avec des exemples utiles.

1. Lister la connexion réseau

La commande ss sans aucune option répertorie tous les sockets ouverts non à l'écoute (par exemple, TCP/UNIX/UDP) qui ont établi une connexion.

$ ss
  1. Netid :Il affiche les types de sockets.
  2. État :affiche l'état d'une prise si elle est établie (ESTAB), non connectée (UNCONN) ou à l'écoute (LISTEN).
  3. Recv-Q :affiche le nombre de paquets reçus dans la file d'attente.
  4. Send-Q :affiche le nombre de paquets envoyés dans la file d'attente.
  5. Adresse locale :port :affiche l'adresse de la machine locale et le port.
  6. Peer address:port :affiche l'adresse de la machine distante et le port.

Vous pouvez obtenir des informations plus détaillées en utilisant la commande ss conjointement avec les options. Vous pouvez également sélectionner plusieurs options en même temps.

syntaxe de la commande ss :

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

2. Lister les sockets d'écoute

Pour afficher la liste des sockets en écoute avec -l ou --listen option.

$ ss -l

3. Lister toutes les sockets

Vous pouvez répertorier toutes les connexions réseau à l'écoute et non à l'écoute en utilisant le -a ou -all option.

$ ss -a 

4. Lister les connexions TCP

Pour afficher la connexion socket TCP, utilisez le -t ou --tcp option.

$ ss -t

Pour afficher la liste de toutes les connexions TCP , vous pouvez utiliser le -a et -t options. Cela inclut tous les états du socket.

$ ss -at

Pour afficher la connexion TCP pour tous les états d'écoute, combinez -l et -t options.

$ ss -alt

5. Lliste connexion UDP

Pour afficher la connexion socket UDP, utilisez -u ou --udp option.

$ ss -u

Pour afficher la liste de toutes les connexions UDP , utilisez -a et -u options. Cela inclut tous les états du socket.

$ ss -au

Vous pouvez combiner -l et -u pour afficher la connexion UDP pour tous les états d'écoute .

$ ss -lu

6. Lister les sockets Unix

Pour afficher tous les sockets Unix, vous pouvez utiliser la commande ss avec -f unix ou -x .

$ ss -f unix

7. Lister les sockets bruts

Pour afficher toutes les sockets Raw, vous pouvez utiliser -w ou l'option --raw.

$ ss -w

8. Lister la connexion d'une adresse IP

Nous pouvons utiliser la commande ss pour afficher la connexion de liste d'une destination spécifique ou d'une adresse IP source.

Par exemple, pour lister la connexion de l'adresse IP de destination :

$ ss dst 13.227.138.30

Par exemple, pour lister la connexion de l'adresse IP source :

$ ss src 192.168.18.151

9. Répertorier les connexions de socket IPv4 et IPv6

Si vous souhaitez afficher la liste des connexions socket IPv4, utilisez l'option -4 et -6 pour afficher la liste des connexions socket IPv6.

Pour afficher la liste des connexions socket IPv4 :

$ ss -4

Pour afficher la liste des connexions socket IPv6 :

$ ss -6

Pour répertorier toutes les connexions TCP IPv4, vous pouvez utiliser l'exemple suivant.

$ ss -at4

10. Identifier les processus

Vous pouvez trouver les processus des sockets en utilisant le -p option avec la commande ss. Pour identifier le processus, vous aurez besoin de l'autorisation sudo.

$ sudo ss -t -p 

11. Lister les connexions sans résolution de nom d'hôte

Pour résoudre l'adresse/les ports numériques, utilisez l'option -r (résolution). Alors que le -n l'option n'essaie pas de résoudre les noms de service.

Ici, dans l'exemple, vous pouvez voir la différence entre les deux :

$ 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. Filtrer par connexion

Voyons quelques exemples d'application de filtres pour afficher des informations spécifiques.

Pour filtrer la connexion TCP avec écoute d'état, tapez :

$ ss -t state listening

Pour afficher les connexions de port ssh établies :

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

Vous pouvez également utiliser la méthode traditionnelle de la commande grep pour filtrer. Ici, j'affiche toutes les connexions TCP qui écoutent dans l'état :

$ ss -at | grep LISTEN

options de la commande ss

La commande ss fournit diverses options pour contrôler la sortie à afficher selon vos besoins. Vous pouvez utiliser -h ou --help avec la commande ss pour afficher les options de base disponibles avec l'utilitaire de commande ss.

$ ss -h

commande ss contre netstat

L'outil ss est inclus dans le package iproute2 et sa valeur par défaut dans la plupart des distributions Linux. Pour avoir netstat, vous devez installer net-tools, qui est déjà obsolète. La commande ss est beaucoup plus rapide car elle récupère directement depuis le noyau. Le ss n'est pas un remplacement complet de netstat, une partie de la commande netstat est remplacée par la commande ip.

Conclusion

Dans ce didacticiel, nous avons découvert la commande ss avec quelques exemples utiles. Vous pouvez consulter la page de manuel de la commande ss pour plus d'informations.


Linux
  1. Commande Linux wc avec exemples

  2. 12 exemples de commandes Wget utiles sous Linux

  3. Commande Linux Tee avec exemples

  4. Commande principale Linux avec exemples

  5. Commande JQ sous Linux avec exemples

Commande Tr sous Linux avec des exemples

15 Commande Linux ps avec exemples

Commande de CD Linux avec exemples

Commande modprobe Linux avec des exemples utiles

Commande pwd sous Linux avec des exemples utiles

Commande IP Linux avec exemples