Il comando netstat, che significa statistiche di rete, è un comando del prompt dei comandi utilizzato per visualizzare informazioni molto dettagliate su come il tuo computer sta comunicando con altri computer o dispositivi di rete.
In particolare, può mostrare dettagli sulle singole connessioni di rete, statistiche di rete generali e specifiche del protocollo e molto altro, che potrebbero aiutare a risolvere determinati tipi di problemi di rete.
Disponibilità comando Netstat
Questo comando è disponibile dal prompt dei comandi nella maggior parte delle versioni di Windows, inclusi Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, sistemi operativi Windows Server e alcune versioni precedenti di Windows, anche.
Netstat è un comando multipiattaforma, il che significa che è disponibile anche in altri sistemi operativi come macOS e Linux.
La disponibilità di alcuni switch dei comandi netstat e di altre sintassi dei comandi netstat può variare da sistema operativo a sistema operativo.
Sintassi del comando Netstat
netstat [- a] [- b] [- e] [- f] [- n] [- o] [-p protocollo] [-r ] [-s ] [-t] [- x] [- y] [intervallo_tempo] [ /?]
Elenco comandi Netstat | |
---|---|
Opzione | Spiegazione |
netstat | Esegui il comando netstat da solo per mostrare un elenco relativamente semplice di tutte le connessioni TCP attive che, per ciascuna, mostrerà l'indirizzo IP locale (il tuo computer), l'indirizzo IP esterno (l' altro computer o dispositivo di rete), insieme ai rispettivi numeri di porta e allo stato TCP. |
- a | Questo interruttore mostra le connessioni TCP attive, le connessioni TCP con lo stato di ascolto e le porte UDP che vengono ascoltate. |
- b | Questo switch netstat è molto simile allo switch - o elencato di seguito, ma invece di visualizzare il PID, visualizzerà il nome file effettivo del processo. Usare - b su - o potrebbe sembrare che ti stia risparmiando un passaggio o due, ma usarlo a volte può allungare notevolmente il tempo necessario per l'esecuzione completa di netstat. |
- e | Usa questo interruttore con il comando netstat per mostrare le statistiche sulla tua connessione di rete. Questi dati includono byte, pacchetti unicast, pacchetti non unicast, scarti, errori e protocolli sconosciuti ricevuti e inviati da quando è stata stabilita la connessione. |
- fa | Lo switch - f forzerà il comando netstat a visualizzare il nome di dominio completo (FQDN) per ogni indirizzo IP esterno, quando possibile. |
- n | Usa l'opzione - n per impedire a netstat di tentare di determinare i nomi host per indirizzi IP stranieri. A seconda delle connessioni di rete attuali, l'utilizzo di questo interruttore potrebbe ridurre notevolmente il tempo necessario per l'esecuzione completa di netstat. |
- o | Un'opzione pratica per molte attività di risoluzione dei problemi, l'interruttore - o mostra l'identificatore di processo (PID) associato a ciascuna connessione visualizzata. Vedere l'esempio seguente per ulteriori informazioni sull'utilizzo di netstat -o. |
- p | Usa lo switch - p per mostrare connessioni o statistiche solo per un particolare protocollo. Non è possibile definire più di un protocollo contemporaneamente, né eseguire netstat con - p senza definire un protocollo. |
protocollo | Quando si specifica un protocollo con l'opzione - p, è possibile utilizzare tcp, udp, tcpv6 o udpv6 Se usi - s con - p per visualizzare le statistiche in base al protocollo, puoi utilizzare icmp, ip, icmpv6 o ipv6 oltre ai primi quattro che ho citato. |
- r | Esegui netstat con - r per mostrare la tabella di routing IP. È come usare il comando route per eseguire route print. |
- s | L'opzione - s può essere utilizzata con il comando netstat per mostrare statistiche dettagliate per protocollo. Puoi limitare le statistiche mostrate a un protocollo particolare usando l'opzione - s e specificando quel protocollo, ma assicurati di usare - s prima di- p protocollo quando si utilizzano gli interruttori insieme. |
- t | Usa l'interruttore - t per mostrare lo stato di offload del camino TCP corrente al posto dello stato TCP tipicamente visualizzato. |
- x | Usa l'opzione - x per mostrare tutti gli ascoltatori, le connessioni e gli endpoint condivisi di NetworkDirect. |
- y | Lo switch - y può essere utilizzato per mostrare il modello di connessione TCP per tutte le connessioni. Non puoi usare - y con nessun' altra opzione netstat. |
tempo_in tervallo | Questo è il tempo, in secondi, in cui desideri che il comando netstat venga eseguito nuovamente automaticamente, fermandosi solo quando usi Ctrl-C per terminare il ciclo. |
/? | Usa l'interruttore della guida per mostrare i dettagli sulle diverse opzioni del comando netstat. |
Semplifica l'utilizzo di tutte le informazioni netstat nella riga di comando emettendo ciò che vedi sullo schermo in un file di testo utilizzando un operatore di reindirizzamento. Per istruzioni complete, vedere Come reindirizzare l'output dei comandi su un file.
Esempi di comandi Netstat
Ecco diversi esempi che mostrano come potrebbe essere utilizzato il comando netstat:
Mostra connessioni TCP attive
netstat -f
In questo primo esempio, eseguiamo netstat per mostrare tutte le connessioni TCP attive. Tuttavia, vogliamo vedere i computer a cui siamo collegati in formato FQDN [- f] invece di un semplice indirizzo IP.
Ecco un esempio di cosa potresti vedere:
Connessioni attive
Indirizzo locale proto Indirizzo esterno Stato
TCP 127.0.0.1:5357 VM-Windows-7: 49229 TIME_WAIT
TCP 127.0.0.1:49225 VM-Windows-7:12080 TIME_WAIT
TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT
TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT
TCP 192.168.1.14: 49197 a795sm.avast.com:http CLOSE_WAIT
TCP 192.168.1.14:49230 TIM-PC:wsd TIME_WAIT
TCP 192.168.1.14:49231 TIM-PC:icslap ESTABLISHED
TCP 192.168.1.14:49232 TIM-PC:netbios-ssn TIME_WAIT
TCP 192.168.1.14:49233 TIM-PC:netbios-ssn TIME_WAIT
TCP [::1]:2869 VM-Windows-7:49226 ESTABLISHED
TCP [::1]:49226 VM-Windows-7:icslap ESTABLISHED
Come puoi vedere, c'erano 11 connessioni TCP attive al momento dell'esecuzione di netstat in questo esempio. L'unico protocollo (nella colonna Proto) elencato è TCP, previsto perché non abbiamo utilizzato - a.
Puoi anche vedere tre set di indirizzi IP nella colonna Indirizzo locale: l'indirizzo IP effettivo di 192.168.1.14 e le versioni IPv4 e IPv6 degli indirizzi di loopback, insieme alla porta utilizzata da ciascuna connessione. La colonna Indirizzo esterno elenca anche l'FQDN (75.125.212.75 non è stato risolto per qualche motivo) insieme a quella porta.
Infine, la colonna Stato elenca lo stato TCP di quella particolare connessione.
Mostra connessioni e identificatori di processo
netstat -o
In questo esempio, netstat verrà eseguito normalmente, quindi mostra solo le connessioni TCP attive, ma vogliamo anche vedere l'identificatore di processo corrispondente [- o] per ogni connessione, quindi che possiamo determinare quale programma sul computer ha avviato ciascuno di essi.
Ecco cosa mostrava il computer:
Connessioni attive
Indirizzo locale proto Indirizzo estero Stato PID
TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT 2948
TCP 192.168.1.14:49196 a795sm:http CLOSE_WAIT 2948
TCP 192.168.1.14:49197 a795sm:http CLOSE_WAIT 2948
Probabilmente hai notato la nuova colonna PID. In questo caso, i PID sono tutti uguali, il che significa che lo stesso programma sul computer ha aperto queste connessioni.
Per determinare quale programma è rappresentato dal PID di 2948 sul computer, tutto ciò che devi fare è aprire Task Manager, selezionare la scheda Processes e annotare il nome dell'immagine elencato accanto al PID che stiamo cercando nella colonna PID.1
Usare il comando netstat con l'opzione - o può essere molto utile quando si rintraccia quale programma sta usando una quota troppo grande della tua larghezza di banda. Può anche aiutare a individuare la destinazione in cui un qualche tipo di malware, o anche un software altrimenti legittimo, potrebbe inviare informazioni senza la tua autorizzazione.
Mentre questo e l'esempio precedente erano entrambi eseguiti sullo stesso computer ea un minuto l'uno dall' altro, puoi vedere che l'elenco delle connessioni TCP attive è notevolmente diverso. Questo perché il tuo computer si connette e si disconnette costantemente da vari altri dispositivi sulla tua rete e su Internet.
Mostra solo connessioni specifiche
netstat -0 | findstr 28604
L'esempio sopra è simile a quello che abbiamo già visto, ma invece di visualizzare tutte le connessioni, stiamo dicendo al comando netstat di mostrare solo le connessioni che utilizzano un PID specifico, 28604 in questo esempio.
Un comando simile potrebbe essere utilizzato per filtrare le connessioni con uno stato CLOSE_WAIT, sostituendo il PID con ESTABLISHED.
Mostra statistiche specifiche del protocollo
netstat -s -p tcp -f
In questo esempio, vogliamo vedere le statistiche specifiche del protocollo [- s] ma non tutte, solo le statistiche TCP [- ptcp]. Vogliamo anche che gli indirizzi esteri vengano visualizzati in formato FQDN [-f ].
Questo è ciò che il comando netstat, come mostrato sopra, ha prodotto sul computer di esempio:
Statistiche TCP per IPv4
Aperture attive=77
Aperture passive=21
Tentativi di connessione non riusciti=2 Ripristina connessioni=25 Connessioni correnti=5 Segmenti ricevuti=7313 Segmenti inviati=4824 Segmenti ritrasmessi=5Connessioni attive Proto Indirizzo locale Indirizzo estero Stato TCP 127.0.0.1:2869 VM-Windows-7:49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7:49238 ESTABLISHED TCP 127.0. 0.1:49238 VM-Windows-7:icslap ESTABLISHED TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT
Come puoi vedere, vengono visualizzate varie statistiche per il protocollo TCP, così come tutte le connessioni TCP attive in quel momento.
Mostra statistiche di rete aggiornate
netstat -e -t 5
In questo esempio finale, il comando netstat viene eseguito per mostrare alcune statistiche di base dell'interfaccia di rete [- e] e in modo che queste statistiche vengano continuamente aggiornate nella finestra di comando ogni cinque secondi [- t 5].
Ecco cosa viene prodotto sullo schermo:
Statistiche interfaccia
Ricevuto Inviato
Byte 22132338 1846834
Pacchetti Unicast 19113 9869
Pacchetti non unicast 0 0
Scarti 0 0
Errori 0 0
Protocolli sconosciuti 0 Statistiche interfaccia Ricevute Sent Byte 22134630 1846834
Pacchetti Unicast 19128 9869
Pacchetti non unicast 0 0
Scarti 0 0
Errori 0 0
Protocolli sconosciuti 0
^C
Vengono visualizzate varie informazioni, che puoi vedere qui e che abbiamo elencato nella sintassi - e sopra.
Il comando netstat è stato eseguito automaticamente solo una volta in più, come puoi vedere dalle due tabelle nel risultato. Notare la ^C in basso, a indicare che il comando di interruzione Ctrl+C è stato utilizzato per interrompere la ripetizione del comando.
Comandi relativi a Netstat
Il comando netstat viene spesso utilizzato con altri comandi del prompt dei comandi relativi alla rete come nslookup, ping, tracert, ipconfig e altri.
[1] Potrebbe essere necessario aggiungere manualmente la colonna PID a Task Manager. Puoi farlo selezionando PID dopo aver fatto clic con il pulsante destro del mouse sulle intestazioni delle colonne nella scheda Processo. Se utilizzi Windows 7 o un sistema operativo Windows precedente, seleziona la casella di controllo PID (Identificatore di processo) da View > Seleziona Colonne in Task Manager. Potresti anche dover scegliere Mostra processi da tutti gli utenti dalla parte inferiore della scheda Processi se il PID che stai cercando non è elencato.