Il comando Terminal netstat in macOS visualizza informazioni dettagliate sulle comunicazioni di rete del tuo computer. Le comunicazioni di rete includono tutti i modi in cui il tuo Mac sta parlando con il mondo esterno, attraverso tutte le porte e tutte le applicazioni. Imparare come utilizzare netstat può aiutarti a capire quali connessioni sta effettuando il tuo computer e perché.
Esecuzione di Netstat
Il comando netstat è disponibile sui Mac per impostazione predefinita. Non è necessario scaricarlo o installarlo.
Per avviare netstat, aprila finestra Terminal in Applicazioni > Programmi> Terminal. Digita netstat e premi Invio per eseguire il comando.
wakila / Getty Images
Un'enorme quantità di testo inizierà a scorrere sullo schermo. Se non usi nessuno dei flag disponibili (vedi sotto), netstat riporterà tutte le connessioni di rete attive sul tuo Mac. Considerando il numero di funzioni eseguite da un moderno dispositivo di rete, ci si può aspettare che l'elenco sia lungo. Un report standard può essere eseguito ben oltre 1000 righe.
Filtrare l'output di netstat è essenziale per capire cosa sta succedendo sulle porte attive del tuo Mac. I suoi flag integrati ti consentono di impostare le opzioni, limitando l'ambito del comando.
Flag e opzioni Netstat
Per vedere tutte le opzioni disponibili di netstat, digita man netstat al prompt dei comandi per visualizzare la pagina man di netstat. È anche possibile visualizzare una versione online della pagina man di netstat.
"Man" è l'abbreviazione di "manuale".
Sintassi
Per aggiungere flag e opzioni a netstat, usa la seguente sintassi:
netstat [-AabdgiLlmnqrRsSvWx] [-c queue] [-f address_family] [-I interfaccia] [-p protocollo] [-w wait]
netstat su macOS non funziona allo stesso modo di netstat su Windows e Linux. L'utilizzo di flag o sintassi da quelle implementazioni di netstat potrebbe non provocare il comportamento previsto.
Se la scorciatoia di cui sopra sembra completamente incomprensibile, impara a leggere la sintassi dei comandi.
Bandiere utili
Ecco alcune delle bandiere più comunemente usate:
- -a include le porte del server nell'output di netstat, che non sono incluse nell'output predefinito.
- -g visualizza le informazioni associate alle connessioni multicast.
- -I interface fornisce dati a pacchetto per l'interfaccia specificata. Tutte le interfacce disponibili possono essere visualizzate con l'estensione -i bandiera, ma en0 è in genere l'interfaccia di rete in uscita predefinita. (Nota la lettera minuscola.)
- -n sopprime l'etichetta di indirizzi remoti con nomi. Questo accelera notevolmente l'output di netstat sacrificando solo informazioni limitate.
- -p protocollo elenca il traffico associato a un protocollo di rete specifico. L'elenco completo dei protocolli è disponibile all'indirizzo / etc / protocols, ma i più importanti sono udp ed tcp.
- -r visualizza la tabella di instradamento, che mostra come i pacchetti vengono instradati sulla rete.
- -s mostra le statistiche di rete per tutti i protocolli, che siano attivi o meno.
- -v aumenta la verbosità, in particolare aggiungendo una colonna che mostra l'ID di processo (PID) associato a ciascuna porta aperta.
Esempi Netstat
Considera questi esempi:
netstat -apv TCP
Questo comando restituisce solo le connessioni TCP sul tuo Mac, comprese le porte aperte e le porte attive. Utilizza anche un output dettagliato, elencando i PID associati a ciascuna connessione.
netstat -a | grep -i "ascolta"
Questa combinazione di netstat ed grep rivela porte aperte, porte che stanno ascoltando un messaggio. Il carattere della pipa | invia l'output di un comando a un altro comando. Qui, l'output di netstat tubi a grep, permettendoti di cercare la parola chiave "ascolta" e di trovare i risultati.
Accesso a Netstat tramite l'utilità di rete
Puoi anche accedere ad alcuni di netstat's funzionalità tramite l'app Network Utility all'indirizzo sistema > Biblioteca > Servizi di base > Applicazioni.
Clicca il netstat scheda per accedere all'interfaccia grafica.
Le opzioni all'interno di Network Utility sono molto più limitate di quelle disponibili tramite la riga di comando. Ciascuna delle quattro selezioni del pulsante di opzione esegue un netstat predefinito comando e visualizza l'output.
I comandi netstat per ogni pulsante di opzione sono i seguenti:
- Visualizza le informazioni sulla tabella di instradamento corre netstat -r.
- Visualizza statistiche di rete complete per ogni protocollo corre netstat -s.
- Visualizza le informazioni multicast corre netstat -g.
- Visualizza lo stato di tutte le connessioni socket correnti corre netstat.
Integrazione di Netstat con Lsof
L'implementazione di netstat per macOS non include molte delle funzionalità che gli utenti si aspettano e necessitano. Sebbene abbia i suoi usi, netstat non è utile su macOS come su Windows. Un comando diverso, lsof, sostituisce gran parte delle funzionalità mancanti.
Lsof mostra tutti i file attualmente aperti in qualsiasi app. Puoi anche usarlo per ispezionare le porte aperte associate all'app. Correre lsof -ie vedrai un elenco di tutte le applicazioni che comunicano su Internet. Questo è in genere l'obiettivo quando si utilizza netstat su macchine Windows; tuttavia, l'unico modo significativo per eseguire tale attività su macOS non è con netstat, ma con lsof.
Lsof Flags and Options
La visualizzazione di ogni singolo file aperto o connessione Internet è in genere dettagliata. Ecco perché lsof viene fornito con flag per limitare i risultati con criteri specifici. I più importanti sono di seguito.
Per informazioni su più flag e spiegazioni tecniche di ciascuno, controlla la pagina man di lsof o esegui man lsof a un prompt del terminale.
- -i visualizza tutte le connessioni di rete aperte e il nome del processo che sta utilizzando la connessione. Aggiungendo un file 4, come in -i4, mostrerà solo le connessioni IPv4. Aggiungendo un file 6 anziché (-i6) mostrerà solo le connessioni IPv6.
- Lo -i flag può anche essere espanso per specificare ulteriori dettagli. -iTCP o -iUDP restituirà solo connessioni TCP e UDP. -iTCP: 25 restituirà solo connessioni TCP sulla porta 25. Un intervallo di porte può essere specificato con un trattino, come -iTCP: 25-50.
- L'utilizzo di [email protected] restituirà solo le connessioni all'indirizzo IPv4 1.2.3.4. Gli indirizzi IPv6 possono essere specificati allo stesso modo. Il precursore @ può essere utilizzato anche per specificare i nomi host allo stesso modo, ma non è possibile utilizzare contemporaneamente indirizzi IP remoti e nomi host.
- -s tipicamente forza lsof a visualizzare la dimensione del file. Ma se abbinato a -i bandiera, -s funziona diversamente. Invece, consente all'utente di specificare il protocollo e lo stato per il comando da restituire.
- -p limita lsof a un particolare ID di processo (PID). È possibile impostare più PID utilizzando comuni, ad esempio -p 123,456,789. Gli ID di processo possono anche essere esclusi con ^, come in 123, ^ 456, che escluderebbe specificamente il PID 456.
- -P disabilita la conversione dei numeri di porta in nomi di porta, accelerando l'output.
- -n disabilita la conversione dei numeri di rete in nomi host. Quando viene utilizzato con -P sopra, può accelerare notevolmente l'output di lsof.
- -u user restituisce solo i comandi di proprietà dell'utente specificato.
lsof Esempi
Ecco alcuni modi per utilizzare lsof.
lsof -nP [email protected]: 513
Questo comando dall'aspetto complesso elenca tutte le connessioni TCP con il nome host lsof.itap e il porto 513. Inoltre esegue lsof senza collegare nomi a indirizzi IP e porte, rendendo il comando notevolmente più veloce.
lsof -iTCP -sTCP: ASCOLTA
Questo comando restituisce ogni connessione TCP con lo stato LISTEN, rivelando tutte le porte TCP aperte sul tuo Mac. Elenca anche i processi associati a quelle porte aperte. Questo è un aggiornamento significativo netstat, che elenca al massimo i PID.
sudo lsof -i -u ^ $ (whoami)
Questo comando restituisce tutte le connessioni non di proprietà dell'utente attualmente connesso.
Il cursore (^) è per la negazione. I risultati non includeranno nulla che corrisponda al testo dopo il cursore. È possibile ottenere il nome dell'utente attualmente connesso eseguendo whoami all'interno del comando lsof, circondato da $ () lasciando accedere lsof al suo output come testo. L'esecuzione con "sudo" ti consente di vedere le attività non di tua proprietà. L'esecuzione di questo comando senza "sudo" restituisce un elenco vuoto.
Altri comandi di rete
Altri comandi di rete Terminal che potrebbero essere di interesse nell'esame della rete includono arp, ping e ipconfig.
#goog-gt-tt {display:none !important;}.goog-te-banner-frame {display:none !important;}.goog-te-menu-value:hover {text-decoration:none !important;}body {top:0 !important;}#gtranslate_element {display:none!important;}
var gt_not_translated_list = ["wakila / Getty Images","man netstat","netstat -apv TCP","netstat's","netstat -s","netstat -g","lsof -i","Lsof Flags and Options","man lsof","-i4","-i6","lsof.itap"];
document.cookie = "googtrans=/auto/it; domain=.balogs.xyz";
document.cookie = "googtrans=/auto/it";
function GTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: 'auto',layout: google.translate.TranslateElement.InlineLayout.SIMPLE,autoDisplay: false,multilanguagePage: true}, 'gtranslate_element');}