2012-08-01 9 views
23

In linux, il comando netstat ci dice le informazioni dei socket attivi nel sistema.differenza tra netstat e ss in linux?

Comprendo che netstat utilizza /proc/net/tcp per acquisire le informazioni di rete del sistema.

Dalla pagina di manuale netstat si dice che netstat è obsoleto, quindi dovremmo usare 'ss'.

NOTE 
    This program is obsolete. Replacement for netstat is ss. Replacement 
    for netstat -r is ip route. Replacement for netstat -i is ip -s link. 
    Replacement for netstat -g is ip maddr. 

ho scoperto che ss esegue funzionalità simili, ma non usa /proc/net/tcp di acquisire le informazioni di rete del sistema.

Ora sono curioso di sapere come ss riceve le informazioni sul socket di rete del sistema?

risposta

13

Ottiene direttamente dallo spazio del kernel utilizzando Netlink che utilizza la classica API sockets.

+1

grazie, sarebbe meglio se ci sono informazioni più dettagliate su come interrogare le informazioni sullo spazio del kernel – daehee

5

ss è incluso nel pacchetto iproute2 ed è il sostituto di netstat. ss viene utilizzato per scaricare le statistiche del socket. Mostra informazioni simili a netstat. Può visualizzare più informazioni TCP e di stato rispetto ad altri strumenti. È uno strumento nuovo, incredibilmente utile e più veloce (rispetto a netstat) per tracciare connessioni e socket TCP.