Como posso ver qual largura de banda cada aplicativo ou processo está usando?

15

De repente, vejo que minha largura de banda a jusante é de 400 KBps, que é o máximo que meu provedor de serviços de Internet me oferece, por isso há um download de aplicativo em sua capacidade máxima.
O problema é que eu não iniciei nenhum download, por isso está fazendo isso em segundo plano sem avisar.
Como posso saber qual aplicativo ou processo está usando?
Ou, basicamente, como posso determinar quanta largura de banda cada processo ou aplicativo aberto está usando?

Petruza
fonte
Eu me deparei com um aplicativo de firewall antes que pode representar graficamente o uso da rede por aplicativo e por usuário ... mas não consigo mais encontrá-lo. : /
Jason Salaz
HandsOff mostra per-app uso
hsmiths
foi a atualização automática do software?
jm666
@ jm666: Esse foi meu primeiro suspeito, mas não foi
Petruza 29/06

Respostas:

14

Citação: "Como posso saber qual aplicativo ou processo está usando?"

Você pode tentar o nettop (1) no terminal. Ele é pré-instalado e é atualizado a cada poucos segundos para fornecer um painel de todas as conexões de rede abertas (por processo) com seu uso. Melhor do que lsofporque também mostra os dados de uso.

$ nettop

Em seguida, pressione 'd' e procure entradas com aparência estranha ou entradas com tráfego consistentemente grande na coluna 'bytes in' ou 'bytes out'. O 'd' instrui o nettop a mostrar apenas diferenças em cada atualização de tela.

Notas práticas de uso:

Se você não reconhecer o nome do processo, pesquise no Google.

Se você não quiser o processo, obtenha o pid (o número ao lado do nome do processo no nettop) e mate-o com kill -9 <pid>. Se isso não resolver, descubra se você pode desinstalar o processo.

Se você estiver interessado no que o processo está transmitindo pela rede, use o número da porta do cliente para essa conexão específica (por exemplo, '53133' de 10.0.0.1:53133->74.125.68.100:80) para executar um tcpdump (1) para ver os dados nos pacotes sendo trocados:sudo tcpdump -nnvvXSs 1514 port 53133

Se você estiver interessado no destino com o qual o processo está falando, mas o endereço IP de destino não tiver um nome de host DNS reverso (como no exemplo anterior), tente visitar esse endereço IP em um navegador da Web como https: // IP , clique no ícone de cadeado quebrado na barra de endereço e veja os detalhes do certificado para descobrir qual domínio é servido lá (* .google.com nesse caso). Isso não funcionará se a porta SSL 443 não estiver aberta no destino.

2rdmc
fonte
Eu não entendo o motivo do voto negativo. AFAICT, a resposta é exatamente o que o OP está procurando (como monitorar qual processo está consumindo a largura de banda).
2rdmc 25/01
À primeira vista, nettopparece ainda mais enigmático do que top. Por exemplo, não consigo ver como obter os processos mais ativos no topo.
Hippietrail
4

Você pode visualizar facilmente todas as atividades da rede no Activity Monitor; foi criado diretamente no OS X.

  • Abra Aplicativos> Utilitários> Monitor de Atividade
  • Clique na guia Rede

Monitor de atividades, guia Rede;  Ordenado por pacotes enviados

Michael Thompson
fonte
2
Existe uma maneira de ver a largura de banda por segundo, em oposição ao total de bytes?
Crummy
@Crummy Se você clicar com o botão direito do mouse nos cabeçalhos das colunas, poderá modificar as colunas exibidas. Não tenho certeza se existe uma coluna por segundo, mas deve haver algo lá que possa ajudar.
Michael Thompson
4

Apenas para complementar a resposta (fantástica) do nettop - alguns reclamaram que a saída é enigmática. Para uma saída limpa, tente:

nettop -P -k state,interface -d

Sinalizadores explicados:

-P recolhe as linhas de cada processo pai

-k state,interface remove colunas menos informativas que ficam entre você e as colunas de entrada / saída de bytes

-dativa a opção delta (o mesmo que pressionar o dbotão)

Use o hbotão ou corra man nettoppara mais algumas opções.

berks
fonte
3

O Rubbernet é um ótimo aplicativo que permite ver o uso de rede por aplicativo do seu Mac, além de oferecer suporte ao Monitoramento Remoto. Você pode instalar um plug-in Rubbernet em qualquer Mac ao qual tenha acesso administrativo e monitorar a utilização da largura de banda por aplicativo de todo o Macintosh na rede a partir do seu próprio computador.

Custa dinheiro (30 euros em seu site, mas por algum motivo custa US $ 19,99 na Mac App Store, mas eles têm uma avaliação gratuita totalmente funcional em seu site. Ainda não comprei o aplicativo, não posso confirmar que você pode compre uma licença para o aplicativo e instale o plug-in em qualquer número de Macs por um custo adicional agora. Mas essa parece ser a situação.

Os Desenvolvedores são as mesmas pessoas que fazem o Linkinus IRC Client.

link para rubbernet removido, pois leva a um site com um falso alerta sobre atualização desatualizada do Flash

Robert J Berger
fonte
2

lsof e iftop (link direto para instalar o pacote) são as melhores ferramentas que vêm à sua mente.

Além disso, dê uma olhada nesta pergunta .

Somantra
fonte
Mas ele não mostra qual aplicativo está usando a largura de banda
Petruza
@ Petruza, você pode identificar o programa associado a uma conexão específica usando lsof e depois monitorar a largura de banda da conexão com iftop. Deve haver informações suficientes para auditar as conexões / programas suspeitos.
Somantra
@ Petruza, no seu caso, você provavelmente começaria com o iftop para identificar a conexão usando sua largura de banda e rastrear a conexão com o aplicativo proprietário com lsof ou netstat.
Somantra
1

Outra opção que não é tão boa quanto não possui nenhum tipo de mecanismo de monitoramento remoto e não parecia ter um trabalho tão bom é o OS Track . Também está disponível na Mac App Store gratuitamente. Eu realmente não gostei deste aplicativo, pois parecia consumir muitos recursos. Mas isso pode ser algo que eles corrigiram em uma versão posterior.

Robert J Berger
fonte
0

sudo fs_usage pode identificar o processo

hsmiths
fonte