Introduzione
Lo strumento ss (statistiche socket) è un comando CLI utilizzato per mostrare le statistiche di rete. Le ss command è una versione più semplice e veloce dell'ormai obsoleto comando netstat. Insieme al comando ip, ss è essenziale per raccogliere informazioni sulla rete e risolvere i problemi di rete.
Questo articolo offre una panoramica su come utilizzare il comando ss e mostra esempi dei casi d'uso più comuni.

Prerequisiti
- Accesso a un terminale oa una riga di comando
- Pacchetto software iproute2 installato
Esempi di comandi Linux ss
Il ss
di base l'utilizzo del comando è senza alcun parametro:
ss
L'output restituisce un elenco di socket aperti non in ascolto con connessioni stabilite.

Le colonne mostrano i seguenti dettagli:
- ID rete – Tipo di presa. I tipi comuni sono TCP , UDP , u_str (stream Unix) e u_seq (Sequenza Unix).
- Stato – Stato della presa. Più comunemente ESTAB (stabilito), UNCONN (non connesso), ASCOLTA (ascoltando).
- Recv-Q – Numero di pacchetti ricevuti in coda.
- Invia-Q – Numero di pacchetti inviati in coda.
- Indirizzo locale:porto – Indirizzo della macchina locale e della porta.
- Indirizzo peer:porta – Indirizzo della macchina remota e della porta.
Per un output più dettagliato, aggiungi opzioni a ss
comando:
ss <options>
Oppure elenca le opzioni singolarmente:
ss <option 1> <option 2> <option 3>
Elenca tutte le connessioni
Elenca tutte le connessioni in ascolto e non in ascolto con:
ss -a
Oppure:
ss --all

Elenca i socket di ascolto
Per visualizzare solo le prese di ascolto, che sono omesse per impostazione predefinita, utilizzare:
ss -l
Oppure:
ss --listen

Elenca connessioni TCP
Per elencare le connessioni TCP, aggiungi il -t
opzione per il ss
comando:
ss -t
In alternativa:
ss --tcp

Elenca tutte le connessioni TCP
Combina le opzioni -a
e -t
con il ss
comando per emettere un elenco di tutte le connessioni TCP:
ss -at

Elenca tutte le connessioni TCP in ascolto
Combina le opzioni -l
e -t
con il ss
comando per elencare tutte le connessioni TCP in ascolto:
ss -lt

Elenca le connessioni UDP
Per mostrare un elenco di connessioni UDP, usa:
ss -u
Oppure:
ss --udp

Elenca tutte le connessioni UDP
Combinando le opzioni -a
e -u
con ss
restituisce un elenco di tutte le connessioni TCP:
ss -au

Elenca tutte le connessioni UDP in ascolto
Per elencare tutte le connessioni UDP in ascolto, utilizza il ss
comando con opzioni -l
e -u
:
ss -lu

Elenca socket Unix
Per mostrare tutti i socket della famiglia Unix, usa:
ss -f unix
Oppure usa l'alias più breve:
ss -x

Elenca i socket grezzi
Per elencare i socket grezzi, usa:
ss -w
O in alternativa:
ss --raw
Elenca le connessioni a un indirizzo IP specifico
Elenca le connessioni a un indirizzo IP di destinazione specifico con:
ss dst <address>
Ad esempio:
ss dst 104.21.3.132

Per mostrare le connessioni a un indirizzo di origine specifico, utilizza:
ss src <addresss>
Ad esempio:
ss src 192.168.100.2

Controlla gli ID processo
Per mostrare gli ID di processo (PID), utilizzare:
ss -p

Elenca statistiche riepilogative
Elenca le statistiche di riepilogo per le connessioni con:
ss -s

Elenca le connessioni socket IPv4 e IPv6
Filtra ulteriormente i risultati elencando le connessioni IPv4/IPv6 con:
ss -4
Oppure:
ss -6
Ad esempio, elenca tutte le connessioni UDP IPv6 con:
ss -au6

Filtra connessioni
Il ss
Il comando consente il filtraggio avanzato dei risultati e la ricerca di porte o stati TCP specifici.
Filtra utilizzando gli stati TCP
Filtra le connessioni TCP utilizzando gli stati TCP predefiniti:
ss state <name of state>
Ad esempio, per trovare tutte le connessioni TCP in ascolto:
ss -t state listening

Filtra per numero di porta
Filtra per un numero di porta di destinazione o un nome di porta specifico:
ss <options> dst :<port number or name>
Ad esempio:
ss dst :5228

Oppure usa un nome di porta:
ss dst :https

Combina più query per un filtro più avanzato. Ad esempio, trova tutte le connessioni con una porta di destinazione 5228 o porta sorgente mysql :
ss -a dst :5228 or src :mysql

Controlla le pagine man o elenca tutti i comandi
Controlla la pagina di manuale di ss
nel terminale per una panoramica dettagliata su come utilizzare il comando:
man ss
Per una rapida panoramica delle opzioni disponibili, inserisci:
ss -h
comando netstat VS ss
Il ss
command è considerato un comando sostitutivo dell'obsoleto netstat
. La velocità e le migliori opzioni di filtraggio delle utilità CLI dal pacchetto software iproute2 sono preferibili al pacchetto software net-tools.
La pagina man di netstat elenca ss
come alternativa superiore. Lo strumento netstat è ancora disponibile per l'uso. Tuttavia, ss è un'opzione migliore e più veloce.