Come utilizzare il comando Netstat su Mac

Sommario:

Come utilizzare il comando Netstat su Mac
Come utilizzare il comando Netstat su Mac
Anonim

Cosa sapere

  • Per eseguire netstat e visualizzare i dati dettagliati sulla rete del tuo Mac, apri una nuova finestra Terminal, digita netstat e premiInvio.
  • Limita l'output di netstat con flag e opzioni. Per vedere le opzioni disponibili di netstat, digita man netstat al prompt dei comandi.
  • Usa il comando lsof per compensare la funzionalità mancante o limitata di netstat, inclusa la visualizzazione di tutti i file attualmente aperti in qualsiasi app.

Questo articolo spiega come eseguire il comando netstat Terminal in macOS in modo da poter visualizzare informazioni dettagliate sulle comunicazioni di rete del tuo Mac, incluso il modo in cui il tuo Mac sta parlando con il mondo esterno, su tutte le porte e tutte le applicazioni.

Come eseguire Netstat

Imparare a usare netstat può aiutarti a capire le connessioni che il tuo computer sta effettuando e perché. Il comando netstat è disponibile sui Mac per impostazione predefinita. Non è necessario scaricarlo o installarlo.

Per eseguire netstat:

  1. Vai a Finder > Vai > Utilities.

    Image
    Image
  2. Fai doppio clic su Terminale.

    Image
    Image
  3. Nella nuova finestra Terminale, digita netstat e premi Invio (o Invio) per eseguire il comando.

    Image
    Image
  4. Un'enorme quantità di testo inizierà a scorrere sullo schermo. Se non utilizzi nessuno dei flag disponibili (vedi sotto), netstat segnala le connessioni di rete attive sul tuo Mac. Considerando il numero di funzioni eseguite da un moderno dispositivo di rete, puoi aspettarti che l'elenco sia lungo. Un rapporto standard può essere eseguito su 1.000 righe.

    Image
    Image

Flag e opzioni Netstat

Filtrare l'output di netstat è essenziale per capire cosa sta succedendo sulle porte attive del tuo Mac. I flag integrati di Netstat ti consentono di impostare le opzioni, limitando l'ambito del comando.

Per vedere tutte le opzioni disponibili di netstat, digita man netstat al prompt dei comandi per visualizzare la pagina man di netstat (abbreviazione di "manuale"). Puoi anche visualizzare una versione online della pagina man di netstat.

Sintassi

È importante notare che netstat su macOS non funziona allo stesso modo di netstat su Windows e Linux. L'uso di flag o sintassi da tali implementazioni di netstat potrebbe non comportare il comportamento previsto.

Per aggiungere flag e opzioni a netstat su macOS, usa la seguente sintassi:

netstat [-AabdgiLlmnqrRsSvWx] [-c queue] [-f address_family] [-I interface] [-p protocol] [-w wait]

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 L'interfaccia fornisce dati a pacchetto per l'interfaccia specificata. Tutte le interfacce disponibili possono essere visualizzate con il flag - i, ma en0 è in genere l'interfaccia di rete in uscita predefinita. (Nota la lettera minuscola.)
  • - n sopprime l'etichetta degli indirizzi remoti con i nomi. Ciò velocizza l'output di netstat eliminando solo informazioni limitate.
  • Il protocollo

  • - p elenca il traffico associato a un protocollo di rete specifico. L'elenco completo dei protocolli è disponibile su /etc/protocols, ma i più importanti sono udp e tcp.
  • - r mostra la tabella di instradamento, che mostra come i pacchetti vengono instradati sulla rete.
  • - s mostra le statistiche di rete per tutti i protocolli, indipendentemente dal fatto che i protocolli 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 e grep rivela le porte aperte, che sono porte che stanno ascoltando un messaggio. Il carattere pipe | invia l'output di un comando a un altro comando. Qui, l'output di netstat pipe a grep, permettendoti di cercare la parola chiave "ascolta" e trovare i risultati.

Accesso a Netstat tramite Network Utility

Puoi anche accedere ad alcune delle funzionalità di netstat tramite l'app Network Utility, inclusa nelle versioni macOS fino a Catalina (non è inclusa in Big Sur).

Per accedere a Network Utility, digita Network Utility in Spotlight Search per avviare l'app, quindi seleziona la scheda Netstat per accedere al interfaccia grafica.

Image
Image

Le opzioni all'interno di Network Utility sono più limitate di quelle disponibili tramite la riga di comando. Ciascuna delle quattro selezioni dei pulsanti di opzione esegue un comando netstat preimpostato e visualizza l'output.

I comandi netstat per ciascun pulsante di opzione sono i seguenti:

  • Visualizza le informazioni sulla tabella di instradamento esegue netstat -r.
  • Visualizza statistiche di rete complete per ciascun protocollo esegue netstat -s.
  • Visualizza informazioni multicast esegue netstat -g.
  • Visualizza lo stato di tutte le connessioni socket correnti esegue netstat.
Image
Image

Integrazione di Netstat con Lsof

L'implementazione macOS di netstat non include molte delle funzionalità che gli utenti si aspettano e di cui hanno bisogno. Sebbene abbia i suoi usi, netstat non è così utile su macOS come su Windows. Un comando diverso, lsof, sostituisce gran parte della funzionalità mancante.

Lsof mostra i file attualmente aperti nelle app. Puoi anche usarlo per ispezionare le porte aperte associate all'app. Esegui lsof -i per vedere l'elenco delle 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.

Image
Image

Lsof Flags and Options

La visualizzazione di ogni 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 sotto.

Per informazioni su più flag e spiegazioni tecniche di ciascuno, controlla la pagina man di lsof o esegui man lsof al prompt del Terminale.

  • - i mostra le connessioni di rete aperte e il nome del processo che sta utilizzando la connessione. Aggiungendo un 4, come in - i4, vengono visualizzate solo le connessioni IPv4. L'aggiunta di un 6 invece (- i6) mostra solo le connessioni IPv6.
  • Anche il flag - i può essere espanso per specificare ulteriori dettagli. -iTCP o -iUDP restituisce solo connessioni TCP e UDP. -iTCP:25 restituisce solo connessioni TCP sulla porta 25. È possibile specificare un intervallo di porte con un trattino, poiché -iTCP:25-50.
  • L'utilizzo di [email protected] restituisce 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 e nomi host remoti.
  • - s in genere forza lsof a visualizzare le dimensioni del file. Ma se abbinato al flag - i, - s funziona in modo diverso. Consente invece all'utente di specificare il protocollo e lo stato per il comando da restituire.
  • - p limita lsof a un particolare ID processo (PID). È possibile impostare più PID utilizzando comuni, ad esempio -p 123, 456, 789. Gli ID di processo possono anche essere esclusi con un ^, come in 123, ^456, che escluderebbe specificamente il PID 456.
  • - P disabilita la conversione dei numeri di porta in nomi di porta, velocizzando l'output.
  • - n disabilita la conversione dei numeri di rete in nomi host. Se utilizzato con - P sopra, può accelerare notevolmente l'output di lsof.
  • - u l'utente restituisce solo i comandi di proprietà dell'utente indicato.

lsdi esempi

Ecco alcuni modi per usare lsof.

lsof -nP [email protected]:513

Questo comando dall'aspetto complesso elenca le connessioni TCP con il nome host lsof.itap e la porta 513. Inoltre esegue lsof senza collegare i nomi agli indirizzi IP e alle porte, rendendo il comando notevolmente più veloce.

lsof -iTCP -sTCP:LISTEN

Questo comando restituisce ogni connessione TCP con lo stato LISTEN, rivelando le porte TCP aperte sul Mac. Elenca anche i processi associati a quelle porte aperte. Questo è un aggiornamento significativo rispetto a netstat, che elenca al massimo i PID.

Image
Image

sudo lsof -i -u^$(whoami)

Image
Image

Altri comandi di rete

Altri comandi di rete del terminale che potrebbero interessare per esaminare la tua rete includono arp, ping e ipconfig.

Consigliato: