Mostra quali app e processi stanno utilizzando una connessione Internet tramite riga di comando in OS X

Proprio come puoi monitorare l'utilizzo del filesystem Mac OS X tramite la riga di comando, puoi anche scoprire quali app e singoli processi stanno attualmente utilizzando la tua connessione Internet Mac. Questo è un trucco davvero utile se si conosce che la larghezza di banda viene utilizzata da qualcosa o se si sta solo cercando di rintracciare quali applicazioni o processi in background si connettono al mondo esterno.


Per determinare quali applicazioni, demoni, processi, o qualsiasi altra cosa Mac usi Internet, andiamo alla riga di comando di OS X e usiamo una variazione più avanzata dell'eccellente comando lsof. E sì, questo funzionerà per qualsiasi tipo di connessione Internet attraverso qualsiasi servizio, sia che si tratti di wi-fi e reti wireless o ethernet, e questo funzionerebbe anche su una macchina Linux poiché lsof è uno strumento di rete standard binario.

Copriremo due modi per farlo, il primo fornisce un output di facile lettura e stamperà i nomi delle applicazioni e dei processi che si collegano al mondo esterno e la seconda stringa fornirà informazioni estremamente dettagliate su quale PID si sta collegando a quale host e usando quale protocollo. È possibile utilizzare uno o entrambi, a seconda delle esigenze specifiche.

Mostra i nomi delle applicazioni e dei processi utilizzando Internet in Mac OS X.

Apri l'app Terminale se non lo hai già fatto e inserisci esattamente il seguente comando:

lsof -nPi | cut -f 1 -d " "| uniq | tail -n +2

Potresti voler copiare / incollare quella stringa se non hai familiarità con la riga di comando, ma assicurati che l'intera stringa sia eseguita su una singola riga di sintassi.

L'esecuzione di questo comando lungo ti darà un risultato simile a questo:

SystemUIS
Dropbox
iChatAgen
Finder
iTunes
Google
ssh

Questi sono solo i nomi delle applicazioni e dei processi di ciò che utilizza attivamente Internet. Ora, ovviamente, non ci sono molti più dati qui, ma se stai solo cercando di rintracciare un'app per la larghezza di banda che non funziona è a volte sufficiente per quello scopo.

Ovviamente ci sono molte situazioni in cui informazioni estese su quale processo e / o app stanno utilizzando una connessione di rete, come e a quale indirizzo remoto, ed è quello che vedremo in seguito.

Mostra informazioni dettagliate per ID processo Connessione a Internet da Mac OS X

Se vuoi informazioni più dettagliate di quelle mostrate nella stringa di comando sopra, possiamo revisionare il comando precedente in modo da ottenere più dati grezzi da lsof rimuovendo i pipe ad altre utility da riga di comando, lasciandoci con dettagli non raffinati direttamente da lsof . Noterai anche che ho tagliato il flag -n perché voglio vedere i nomi degli host questa volta:

lsof -Pi

Ciò fornirà dati molto più dettagliati, tra cui nome dell'app, PID, protocollo, indirizzo IP, nome host e lo stato corrente della connessione. Tutti i dati molto utili.

Se questo è sovraccarico di informazioni, prova a eseguire il piping del comando tramite "altro" in modo che sia più facile da leggere in blocchi, oppure utilizzare grep per ordinare i dati per un'app o un processo specifico, in questo modo:

$ lsof -Pi |grep iChatAgen
iChatAgen 228 David 10u IPv4 0x0bfe44ec 0t0 UDP 127.0.0.1:5191->bos-d25v-r2d2.blue.aol.com:5191
iChatAgen 228 David 13u IPv4 0x1e148b1e 0t0 TCP 192.168.1.29:50051->206.198.4.49:5190 (ESTABLISHED)

lsof è una potente utility con una miriade di usi. Ho trattato l'utilizzo di lsof per rintracciare i problemi relativi alla larghezza di banda un po 'di tempo fa, ma usavo solo il flag -i che è notevolmente più semplificato. Puoi utilizzare qualsiasi delle varianti coperte e ognuna ha i propri casi d'uso che possono essere utili.

Gli strumenti a riga di comando sono rivolti agli utenti esperti, ma quelli più recenti a Mac OS X o che semplicemente non amano Terminal possono utilizzare app come Private Eye per vedere cosa sta usando una connessione Internet Mac in modo simile, anche se molto più user friendly e interamente in un'applicazione Mac tradizionale.