← retour aux snippets

ss: inspecter les connexions et ports TCP/UDP

Lister ports à l'écoute, connexions filtrées par état/processus, et diagnostiquer les sockets.

bash network #ss#tcp#udp

objectif

Voir rapidement qui écoute sur quelles adresses, filtrer par port/état, et relier sockets à leurs processus.

code minimal

# ports à l'écoute avec processus (root requis pour -p)
sudo ss -tulpn

# connexions établies vers le port 443
ss -t state established '( dport = :443 )'

# sockets en attente (TIME-WAIT/FIN-WAIT)
ss -ta state time-wait,fin-wait-1,fin-wait-2

# processus lié à un port précis (ex: 5432)
sudo ss -lp '( sport = :5432 )'

utilisation

# filtrer une IP de destination et afficher infos TCP détaillées (-i)
ss -ti dst 203.0.113.42

# compter les connexions par état
ss -tan | awk 'NR>1{split($1,a,","); s=a[1]; c[s]++} END{for(k in c) printf "%-12s %d
", k, c[k]}' | sort

# ce qui écoute sur toutes interfaces en IPv4 uniquement
ss -ltn4 'sport != :ssh'

# surveiller en continu avec timestamps
watch -n1 'date "+%F %T"; ss -t state established | sed 1,1d | head -50'

variante(s) utile(s)

# filtrer plusieurs ports (OR)
ss -t '( dport = :80 or dport = :443 )' state established

# afficher queues et mémoire
ss -tm

# IPv6 et sockets locaux
ss -lpn6
ss -xlp

notes

  • -p requiert les capacités root; utilisez sudo -n pour éviter les prompts.
  • l’ordre et la parenthésisation des filtres comptent.
  • ss est plus rapide et plus précis que netstat et complète lsof.