Il ss
il comando è molto simile a netstat
command ma è più veloce e preciso di netstat
.
[email protected]:~$ ss
Netid State Recv-Q Send- Local Address:Port Peer Address:Port
u_str ESTAB 0 0 * 34006 * 34007
Questa è la prima riga dell'outtut. Questo comando dice a tutti i socket aperti nel sistema.
Il totale sul mio sistema è 96 e 56 di loro hanno u_str
come Netid
e il resto ha tcp
.
Cos'è questo u_str
qui , spiega anche di più su Recv-Q
e Send-Q
?
Risposta accettata:
u_str
è un socket stream ed equivalente a netstat
è SOCK_STREAM.
SOCK_STREAM:questa è una presa di flusso (connessione).
Da Wikipedia:
Nei sistemi operativi dei computer, uno stream socket è un tipo di socket di comunicazione interprocesso o socket di rete che fornisce un flusso di dati orientato alla connessione, sequenziato e unico senza limiti di record, con meccanismi ben definiti per creare e distruggere connessioni e per rilevare errori .
Creiamo un socket stream:
netcat -lU /tmp/streamsocket
Ora esegui:
ss -an | grep streamsocket
Verrà visualizzato:
u_str LISTEN 0 5 /tmp/streamsocket 123360 * 0
In poche parole, è il tipo di presa che può essere anche "UDP" o "TCP". Creiamo un socket UDP:
netcat -lu 127.0.0.1 8060
Ora, ss -l sport = 8060
ti dirà che questo è un "UDP" invece di "u_str".
Per le colonne “Recv-Q” e “Send-Q”, consulta man 8 netstat
:
Recv-Q
Il conteggio dei byte non copiati dal programma utente connesso a questo socket.
Send-Q
Il numero di byte non riconosciuti dall'host remoto.