La commande ss permet d’afficher l’état des ports ou des connexions sur une machine linux.
En résumé:
Afficher la liste des ports UDP et TCP IPv4 en écoute **ss -4ln**
Ports en écoute et connexions établies **ss -4pan**
Connexion TCP établie **ss**
Connexion UDP établie **ss -u**
Mode numérique **ss -n**
Port TCP en écoute **ss -lt**
Port UDP en écoute **ss -lu**
Port en écoute et connexions établie TCP **ss -t -a -4**
Plus de détails sur la commande ss
Afficher la liste des ports UDP et TCP en écoute pour le protocole IPv4:
[root@localhost ~]# ss -4ln
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 127.0.0.1:323 *:*
udp UNCONN 0 0 *:68 *:*
tcp LISTEN 0 128 *:80 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 127.0.0.1:25 *:*
[root@localhost ~]#
Afficher les ports en écoute et les connexions établies avec le protocole IPv4, et on ajoute les processus (option p).
[root@localhost ~]# ss -4pan
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 127.0.0.1:323 *:* users:(("chronyd",pid=630,fd=1))
udp UNCONN 0 0 *:68 *:* users:(("dhclient",pid=1461,fd=6))
tcp LISTEN 0 128 *:80 *:* users:(("httpd",pid=1554,fd=3),
tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=908,fd=3))
tcp LISTEN 0 100 127.0.0.1:25 *:* users:(("master",pid=1286,fd=13))
tcp ESTAB 0 0 192.168.1.15:22 192.168.1.2:1197 users:(("sshd",pid=1485,fd=3))
[root@localhost ~]#
Sans argument, la commande affiche les connexions TCP établies.
[root@localhost ~]# ss
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
u_str ESTAB 0 0 * 17656 * 17655
u_str ESTAB 0 0 /run/systemd/journal/stdout 16624 * 16623
u_str ESTAB 0 0 * 17692 * 17693
u_str ESTAB 0 0 * 14547 * 14580
u_str ESTAB 0 0 * 17693 * 17692
tcp ESTAB 0 0 192.168.1.15:ssh 192.168.1.2:mxomss
[root@localhost ~]#
Pour obtenir le mode numérique: ss -n
[root@localhost ~]# ss -n
u_str ESTAB 0 0 * 14547 * 14580
u_str ESTAB 0 0 * 17693 * 17692
tcp ESTAB 0 0 192.168.1.15:22 192.168.1.2:1141
Connexion TCP établie
[root@localhost ~]# ss -t
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 192.168.1.15:ssh 192.168.1.2:mxomss
[root@localhost ~]#
Connexion UDP établie
[root@localhost ~]# ss -u
Recv-Q Send-Q Local Address:Port Peer Address:Port
[root@localhost ~]#
ss -l affiche les ports en écoute. l’exemple combine -l avec les protocoles UDP ou TCP:
[root@localhost ~]# ss -lt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:http *:*
LISTEN 0 10 127.0.0.1:domain *:*
LISTEN 0 128 *:ssh *:*
LISTEN 0 128 127.0.0.1:rndc *:*
[root@localhost ~]# ss -lu
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 127.0.0.1:323 *:*
UNCONN 0 0 127.0.0.1:domain *:*
UNCONN 0 0 *:bootpc *:*
UNCONN 0 0 ::1:323 :::*
UNCONN 0 0 ::1:domain :::*
On ajoute l’argument -a pour ajouter les ports en écoute en plus des connexions établies L’option -4 permet d’obtenir uniquement les connexions IPv4. -6 pour IPv6.
[root@localhost ~]# ss -u -a -4
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 127.0.0.1:323 *:*
UNCONN 0 0 127.0.0.1:domain *:*
UNCONN 0 0 *:bootpc *:*
[root@localhost ~]# ss -t -a -4
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:http *:*
LISTEN 0 10 127.0.0.1:domain *:*
LISTEN 0 128 *:ssh *:*
Il est possible d’afficher plus précisément les états des connexions avec l’option state. Voici ce que propose l’aide:
[root@localhost ~]# ss --h
Usage: ss [ OPTIONS ]
ss [ OPTIONS ] [ FILTER ]
......
......
FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
STATE-FILTER := {all|connected|synchronized|bucket|big|TCP-STATES}
TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listen|closing}
connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
bucket := {syn-recv|time-wait}
big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listen|closing}
Exemple d’utilisation de l’attribut filter:
[root@localhost ~]# ss -t state established
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 0 192.168.1.15:ssh 192.168.1.2:mxomss
[root@localhost ~]#
Affichage des processus et des ports avec l’option -p
[root@localhost ~]# ss -tnp
tcp ESTAB 0 0 192.168.1.15:ssh 192.168.1.2:mxomss users:(("sshd",pid=1513,fd=3))