Come posso sapere quale applicazione sta usando la rete?

9

Molto raramente quando utilizzo il mio Mac, noto il rallentamento della connessione Internet. Uso di Activity Monitor Riesco a vedere che è perché qualcosa sta scaricando i dati alla massima velocità supportata dalla mia connessione --- ma non so come dire cosa ne è responsabile. Può essere causato da diverse cose (sincronizzazione di Dropbox, alcune app che eseguono un aggiornamento automatico, di recente si trattava di un buffering del video in una scheda del browser che avevo dimenticato) quindi sarebbe davvero utile avere un modo per dire quale app è responsabile per l'utilizzo della rete. È una cosa possibile in OS X? Idealmente sto cercando una soluzione gratuita. (La riga di comando è OK.) Sono su Snow Leopard se fa la differenza.

    
posta Nathaniel 07.07.2012 - 13:33
fonte

5 risposte

5

Puoi provare questo dtrace one-liner:

sudo dtrace -n 'syscall::recvfrom:return { @[pid,execname] = sum(arg0); }'

Lascia correre per un po ', poi premi Control-C. Stampa un riepilogo del numero di byte letti dai socket, distribuiti tra i processi. Per una visualizzazione più dettagliata, sostituisci sum di quantize . O solo per vedere un conteggio delle letture socket, sostituire sum con count .

Dichiarazione di non responsabilità: l'ho provato solo su Lion, ma AFAIK non si sono verificati grandi cambiamenti nella capacità di dtrace tra SL e Lion.

    
risposta data 07.07.2012 - 16:31
fonte
6

I firewall

Potresti usare Little Snitch oppure HandsOff . Sono ottimi firewall ed entrambi hanno una funzione "Network Monitor", che farà il lavoro:

Little Snitch includes a Network Monitor, showing detailed information of all incoming and outgoing network traffic.
A status icon in the menu bar provides a summary of current network activity, and a monitor window with more comprehensive information pops up automatically in case of new traffic events.

Hands Off is an application to monitor and control the access of applications to your network and disks. Being able to monitor the normally unnoticeable activities enables you to make informed decisions regarding the transfer of your private information, hence avoiding confidential information leakage.

I monitor di rete di: Little Snitch (a sinistra), HandsOff (a destra)

Nettop

Una soluzione cli gratuita e incorporata (sfortunatamente non è inclusa in Snow Leopard) sarebbe nettop . nettop raggruppa il traffico per programma e porta e misura varie statistiche di rete.

Altre

Ci sono pochi altri programmi che catturano e misurano il traffico ( iftop , wireshark , tcpdump ), ma non conoscono il pid originario. Per effettuare la connessione è necessario utilizzare netstat .

    
risposta data 07.07.2012 - 14:37
fonte
4
sudo fs_usage -f network

ti fornirà tutti gli accessi alla rete da parte di tutte le applicazioni (e processi). Di solito il processo che crea molto traffico è quello che appare più spesso nell'output.

    
risposta data 07.07.2012 - 19:21
fonte
1

Il "libro di DTrace" ha uno script, soconnect.d , che fa questo.

Copia la versione "Mac OS X", incollala in un file di testo, quindi eseguila dal terminale con sudo dtrace -s soconnect.d .

    
risposta data 07.07.2012 - 16:37
fonte
1

Monitoraggio attività ha anche colonne per i byte ricevuti e inviati dal 10.9:

    
risposta data 13.12.2013 - 09:43
fonte

Leggi altre domande sui tag