Ss

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Sockets réseau (TCP/UDP/UNIX)
Commande ss
Contexte Paquet iproute2 — successeur moderne de netstat, souvent absent ou déprécié sur les distributions récentes
Voir aussi Lsof (fichiers/sockets par PID)

ss (« socket statistics ») affiche l'état des sockets réseau : connexions TCP/UDP, sockets en écoute, sockets UNIX. Il fait partie du paquet iproute2 et remplace netstat, retiré ou marqué obsolète (paquet net-tools) sur la plupart des distributions récentes — les options ci-dessous couvrent les usages courants qui utilisaient auparavant netstat.

Connexions par protocole

ss -t                    # connexions TCP établies
ss -a -t                 # TCP, y compris en écoute
ss -u -a                 # UDP, y compris en écoute
ss -l -t -n              # sockets TCP en écoute uniquement, sans résolution DNS

Lier une socket au processus

ss -l -t -p               # sockets TCP en écoute + PID/nom du processus (souvent besoin de root)
ss -t -n -a -p            # toutes les connexions TCP, ports/adresses en numérique, avec le processus
ss -u -n -a -p            # équivalent pour l'UDP

Statistiques globales

ss -s                      # résumé (nombre de sockets par type et par état)

Filtrer par état

ss -t -4 state established           # connexions TCP IPv4 établies
ss -t -4 state time-wait             # connexions TCP IPv4 en time-wait
ss -t -n -o state established -p     # établies, avec timers et processus

États disponibles pour le filtre state :

established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait,
closed, close-wait, last-ack, closing
all          - tous les états ci-dessus
connected    - tous les états sauf listen et closed
synchronized - tous les états "connected" sauf syn-sent
bucket       - états gérés comme des mini-sockets (time-wait, syn-recv)
big          - l'inverse de bucket

Filtrer par adresse ou port

Syntaxe générale : ss [options] [filtre-état] [filtre-adresse].

ss -a -t '( dport = :ssh or sport = :ssh )'   # trafic SSH, entrant ou sortant
ss -n -t '( dst :443 or dst :80 )'            # destinations HTTP/HTTPS

ss -n -t dst 74.125.236.178                   # par adresse de destination
ss -n -t dst 74.125.236.178/16                # notation CIDR acceptée

ss -n -t dst 74.125.236.178:80                # adresse + port combinés
ss -n -t dport = :80

ss -n -t src 127.0.0.1 sport gt :5000         # source locale, port source > 5000
ss -n -t -l -p sport eq :smtp                 # sockets en écoute sur le port smtp (25)
ss -n -t sport gt :1024                       # ports source > 1024
ss -n -t dport lt :100                        # ports destination < 100
ss -n -t state connected dport = :80          # connexions établies vers le port 80

Opérateurs de comparaison acceptés dans un filtre de port :

<= ou le : inférieur ou égal
>= ou ge : supérieur ou égal
== ou eq : égal
!= ou ne : différent
<  ou lt : inférieur
>  ou gt : supérieur

Voir aussi

  • Lsof — retrouver le processus qui tient un port ou un fichier ouvert