Approfondire le statistiche di rete con i comandi netstat in Linux
Introdotto inizialmente nel 1983, netstat è stata una scelta popolare per il monitoraggio del traffico di rete e della connettività. La connettività Internet è fondamentale per le operazioni dei server Linux, in particolare quelli che ospitano applicazioni aziendali o rivolte agli utenti. Linux offre diverse utilità per monitorare ed esaminare la connettività di rete e Internet in modo che amministratori e utenti possano scegliere la soluzione migliore per le loro esigenze specifiche.
netstat (Statistiche di rete) è un’utilità popolare utilizzata dagli amministratori per esaminare e verificare diversi aspetti della connessione Internet del tuo computer. Può fornire informazioni sulle connessioni in entrata, sui canali di comunicazione in uso e anche specifiche tecniche come la quantità di pacchetti di dati consegnati e ricevuti.
Una panoramica del comando netstat
Viene utilizzato principalmente senza parametri nel seguente formato:
# netstat
Il primo elenco dell’output mostra le connessioni Internet attive e stabilite del computer. Le colonne includono le seguenti informazioni:
- Proto – Il protocollo della connessione (TCP o UDP).
- Recv-Q – Presenta la coda dei byte ricevuti o pendenti.
- Send-Q – Presenta i byte pronti per essere inviati in una coda.
- Local Address – Dettagli sulla porta e sull’indirizzo della connessione locale. Se una porta non è stata ancora impostata, vedrai un asterisco.
State
Lo stato del socket locale, che spesso è vuoto, chiuso, in ascolto o stabilito. Inoltre, puoi vedere un secondo elenco dei socket attualmente aperti. Questo elenco fornisce le seguenti informazioni sui socket:
- Proto – Il protocollo del socket, che è sempre unix.
- RifCnt – Il numero di processi collegati a questo socket.
- Flags – Vuoto o ACC sono valori tipici.
- Type – Il tipo di presa.
- State – Lo stato della presa può essere vuoto, IN ASCOLTO, CONNESSO o altro.
- I-Node – L’inode del file system di questo socket è il nodo dell’indice.
Un caso d’uso comune del comando netstat è ottenere un elenco di tutte le porte e connessioni, separate dal relativo protocollo o stato. Per questo, utilizzare il seguente comando:
netstat -a
L’output mostra i server aperti o in ascolto, insieme alle connessioni correnti.
Puoi elencare solo le porte TCP con il seguente comando:
netstat -at
In alternativa, puoi elencare tutte le porte UDP sul sistema con il seguente comando:
netstat -au
Utilizza il comando seguente per ottenere un elenco di tutte le porte di ascolto dei protocolli:
netstat -l
Successivamente vedremo come approfondire le porte di ascolto mappate su protocolli specifici.
Puoi elencare tutte le porte di sistema mappate sul protocollo TCP con questo comando:
netstat -lt
Allo stesso modo, puoi elencare solo le porte UDP che sono in ascolto per le connessioni in entrata eseguendo il seguente comando nel terminale:
netstat-lu
Utilizzare il comando seguente per ottenere un elenco di porte di ascolto UNIX:
netstat-lx
È possibile formattare l’output per mostrare le porte mappate su un protocollo specifico. Ciò consente di visualizzare rapidamente tutte le porte per un protocollo.
netstat -s
È possibile filtrare ulteriormente questi dati per protocolli specifici.
Puoi elencare solo le statistiche della porta TCP con il seguente comando:
netstat -st
Utilizzare il comando seguente per visualizzare le statistiche per le porte UDP:
netstat -su
Utilizzare il comando seguente per visualizzare le transazioni MTU nella tabella dell’interfaccia del kernel, inclusi i trasferimenti e le ricevute dei pacchetti:
netstat -i
Per visualizzare la tabella dell’interfaccia del kernel estesa puoi elencare maggiori dettagli sui dettagli della tabella dell’interfaccia del kernel aggiungendo il file -e opzione per il
Il comando, in questo caso, sarebbe il seguente:
netstat -ie
Mostra connessioni mascherate, puoi vedere le connessioni mascherate sul tuo sistema eseguendo il seguente comando nel terminale. Visualizzazione del PID/applicazione mappata sulle connessioni puoi vedere il processo (process ID, per la precisione) o l’applicazione connessa alle connessioni. Queste informazioni possono aiutarti a capire quale applicazione o processo utilizza una connessione specifica.
comando per aggiungere queste informazioni all’output. Ad esempio, il comando seguente mostra il PID e le applicazioni connesse alle connessioni TCP:
netstat-tp
Puoi elencare tutte le applicazioni che sono attualmente in ascolto per le richieste in arrivo con il seguente comando:
netstat-lp
Il sistema utilizza la tabella di routing IP del kernel come fattore importante nel processo di inoltro dei pacchetti. Puoi elencare i dettagli in questa tabella con il seguente comando:
netstat -r
Il seguente comando mostra l’appartenenza al gruppo IPv6/IPv4:
netstat -g
Per stampare regolarmente le informazioni netstat è possibile stampare il netstat dati ogni secondo aggiungendo il file
La sintassi in questo caso sarebbe la seguente:
È possibile combinare ulteriormente altre opzioni per stampare altre informazioni rilevanti. Ad esempio, il seguente semplice comando stampa continuamente la tabella dell’interfaccia del kernel.
netstat -ic
Puoi elencare ulteriori informazioni eseguendo il seguente comando nel terminale:
netstat –verbose
Mostrare ID utente, numeri di porta, indirizzi host e indirizzi numerici
# netstat -n
Quando possibile, l’utilità converte per impostazione predefinita indirizzi, numeri di porta e ID utente in nomi leggibili dall’uomo. Discuteremo ora diversi scenari in cui è possibile utilizzare l’utilità netstat per stampare informazioni specifiche.
# netstat --numeric-hosts
Visualizza gli indirizzi in numeri utilizzando:
# netstat --numeric-ports
Esegui il comando seguente per visualizzare gli indirizzi host come numeri:
# netstat --numeric-users
Esegui il comando seguente per visualizzare le porte come numeri:
È possibile utilizzare il comando seguente per visualizzare gli ID utente come numeri: Esempio n. 16: individuare un processo utilizzando una porta specifica Si consiglia di utilizzare il grep utilità per filtrare i dati presentati da
# netstat -an | grep ':(port number)'
netstat.
# netstat -an | grep ':80'
Ad esempio, esegui la seguente sintassi del comando per individuare un processo utilizzando un numero di porta specifico:
Ad esempio, considera il seguente comando che estrae i dati sulla porta 80:
# netstat -h
Questo commando è uno strumento efficace per il monitoraggio e la risoluzione dei problemi della rete, fornendo un’ampia gamma di opzioni e comandi per raccogliere dati completi su statistiche di interfaccia, tabelle di routing, connessioni di rete e altri argomenti. Gli utenti possono ottenere informazioni dettagliate sull’attività di rete del proprio sistema, diagnosticare problemi di connettività, individuare potenziali rischi per la sicurezza e migliorare le prestazioni della rete. Gli amministratori Linux possono garantire un funzionamento del sistema senza interruzioni e di successo e una gestione efficace dell’infrastruttura di rete acquisendo familiarità con lo strumento Netstat. Sperimenta la potenza dell’hosting senza soluzione di continuità con RedSwitches, il tuo provider di hosting dedicato a livello globale. Potenziamo la tua presenza online con affidabilità, sicurezza e prestazioni senza pari.