No Mac OS X, como posso monitorar o que está usando minha conexão com a Internet?

19

Eu tenho uma conexão de banda larga relativamente limitada (moro a quilômetros da central mais próxima) e, de tempos em tempos, o acesso à rede (mas nada mais) diminui a velocidade de rastreamento.

Sei de um pouco de software de monitoramento que a conexão está sendo bastante usada, o que explicaria isso, mas não sei o que está sendo usado. Certamente, existem muitas coisas que podem acontecer (hoje em dia existem dezenas de aplicativos que verificam os dados regularmente ou com pouca frequência ou baixam atualizações), mas como posso descobrir?

Fico feliz em pagar (uma pequena quantidade de) dinheiro, se necessário, embora nesse caso eu prefira que seja uma recomendação que eu apenas pesquise no Google por alguma coisa.

Jon Hopkins
fonte

Respostas:

17

O Little Snitch permite conceder acesso à Internet aos programas seletivamente, para que você possa decidir com quais números de porta e nomes de host um aplicativo pode conversar.

É um firewall pessoal muito útil e uma das primeiras coisas que eu instalaria em um novo Mac. Impedir que os aplicativos liguem para casa ou façam o que quer que seja na Internet pode ser crucial para a privacidade.

mikl
fonte
11
O Little Snitch é inestimável para lidar com o que entra / sai do seu computador no nível do aplicativo.
Chealion 17/07/09
11
O Little Snitch também permite exibir um painel de monitoramento que mostra tráfego para cima / baixo para cada aplicativo que acessa sua conexão de rede. Parece que este: obdev.at/Images/littlesnitch/network-monitor-zoomed.jpg
ChrisH
7

Você pode fazer parte do caminho até lá com o seguinte comando executado de dentro de um terminal:

sudo lsof |grep TCP | grep ESTAB

Isso listará todas as conexões TCP abertas. A primeira coluna listará os aplicativos que estão fazendo a conexão, para que você possa descobrir qual é o provável culpado. Um exemplo de duas linhas de saída pode ser semelhante a:

ssh       10099            tim   21u     IPv4 0x1164766c        0t0       TCP 10.0.52.158:61830->home:ssh (ESTABLISHED)
Mail      13216            tim   23u     IPv4 0x11660270        0t0       TCP 10.0.52.158:57696->##.##.##.##:imaps (ESTABLISHED)

Para que eu possa ver que o Mail e o ssh estão usando conexões. Se a solução não for óbvia, é possível usar o dtrace para obter mais detalhes. Especificamente, confira o DTrace Tools , alguns dos quais já estão instalados no seu Mac em / usr / bin:

bitesize.d cpuwalk.d creatbyproc.d dappprof dapptrace diskhits dispqlen.d dtruss errinfo execsnoop fddist filebyproc.d hotspot.d httpdstat.d iodbctest iodbctestw iofile.d iofileb.d iopattern iopending iosnoop iotop kill.d lastwords loads.d newproc.d opensnoop otool pathopens.d pidpersec.d plockstat priclass.d pridist.d procsystime runocc.d rwbypid.d rwbytype.d rwsnoop sampleproc seeksize.d setuids.d sigdist.d syscallbypid.d syscallbyproc.d syscallbysysc.d topsyscall topsysproc weblatency.d

Acho que o que você deseja para a sua situação é provavelmente tcpsnoop ou tcptop , que não parece estar disponível no Mac por padrão, o que me faz pensar se houve algum problema de portabilidade.

Tim
fonte
O sudo é necessário aqui?
Richard Hoskins
É para capturar conexões de outros usuários que possam estar fazendo conexões de rede. Mesmo se você for o único usuário, é possível que algumas contas do sistema estejam fazendo conexões de rede.
21411 Tim Tim
7

uso iftop

Etapa 0: instale o iftop via MacPorts ou Homebrew (isso também instalará automaticamente quaisquer dependências)

sudo port install iftop
brew install iftop

Etapa 1: veja a lista de "interfaces" de rede no seu sistema (por padrão, o iftop usa en0, que na banda larga do Cricket fornece uma tela em branco)

ifconfig -l    # shows: lo0 gif0 stf0 en0 en1 wlt1 fw3 vnic0 vnic1 vboxnet0 ppp0

Etapa 2: execute o iftop com "interfaces" de rede diferentes até o iftop funcionar (ppp0 no meu sistema)

sudo iftop -i ppp0    # have to use sudo to avoid "pcap_open_live(ppp0): (no devices found) /dev/bpf0: Permission denied"

Etapa 3: saia do iftop pressionando "q"

russian_spy
fonte
11
Onde alguém entra iftopno OS X? sudo: iftop: command not found
Daniel Beck
Execute "sudo port install iftop" (se você tiver macports instalado). Isso instalará o iftop e suas dependências.
22811 RussianSpy #
11
Obrigado. Também está disponível no Homebrew. Esta informação pode ser útil como parte do pós embora ;-)
Daniel Beck
Bom, eu tive que usar uma interface diferente (en1), obtive a tela em branco primeiro. Além disso, +1 para homebrew em vez de macports.
Noio
3

O Nettop é uma ferramenta de linha de comando incorporada. Você pode iniciá-lo no Terminal digitando nettop. A visualização padrão é um pouco detalhada demais, então sempre pressiono as teclas ce dpara ver um aplicativo por linha ( c) e ver o uso atual da largura de banda em vez do tráfego total da rede ( d). Você provavelmente precisa maximizar a janela do terminal para ver todas as colunas.

Mais informações e capturas de tela aqui .

psmith
fonte