Como eu sei quais processos estão usando a rede?

6

Às vezes, vejo um uso intenso da rede no meu Gnome System Monitor. Gostaria de saber qual processo está fazendo o download / upload de dados. Existe alguma ferramenta que possa me mostrar:

  1. que processos estão usando a Internet
  2. uma visualização dinâmica em tempo real da velocidade de download / upload desses processos
  3. os detalhes das conexões (por exemplo, o IP remoto, o número da porta, etc.)

Meu sistema é o Ubuntu 10.10.

Eu tentei lsof , mas a saída parece NÃO ser amigável. Talvez existam alguns truques para usá-lo? Ou existem alternativas melhores?

    
por Forrest 16.03.2011 / 17:12

5 respostas

9

netstat --inet -ap mostrará a você quais processos estão usando a Internet e qual host / porta cada processo está usando. Se você quiser endereços IP e não nomes de host, use -n . ( --inet mostra apenas sockets de internet, -a mostra os sockets de escuta e de ligação, -p mostra informações sobre o nome / ID do processo). Você provavelmente desejará executá-lo com sudo para que ele possa fornecer informações sobre todos os processos.

nethogs mostrará quanta largura de banda cada processo está usando, mas não informa qual host cada processo é conectando-se a.

ntop é um pouco pesado, mas oferece uma visão geral do tráfego de rede em geral.

(o netstat é instalado por padrão e nethogs e ntop estão disponíveis no repositório do Ubuntu)

Até onde eu sei, não há um único utilitário que coloque 1, 2 e 3 juntos.

    
por 16.03.2011 / 17:14
7

Nethogs podem lidar com suas duas primeiras solicitações. Iftop pode lidar com o terceiro. Você pode precisar pressionar p em iftop para mostrar o número da porta.

NetHogs is a small 'net top' tool. Instead of breaking the traffic down per protocol or per subnet, like most tools do, it groups bandwidth by process. NetHogs does not rely on a special kernel module to be loaded. If there's suddenly a lot of network traffic, you can fire up NetHogs and immediately see which PID is causing this. This makes it easy to indentify programs that have gone wild and are suddenly taking up your bandwidth.

iftop does for network usage what top(1) does for CPU usage. It listens to network traffic on a named interface and displays a table of current bandwidth usage by pairs of hosts.

    
por 16.03.2011 / 21:21
4

Para lsof use lsof -i .

Você também pode consultar as conexões ativas de cada processo usando netstat -punta run como raiz para mostrar nomes de processos ou sem mostrar apenas PIDs. Para obter uma visualização dinâmica em tempo real, você pode descobrir facilmente o caminho usando assistir - > watch -n1 netstat -punta (o mesmo vale para iftop).

Quanto às alternativas, você pode usar ntop + iftop .

    
por 16.03.2011 / 17:29
1

iftop é equivalente a top para processos, o que mostra tudo, você pode pressionar p para alternar para mostrar a porta.

    
por 17.07.2014 / 16:22
0

Confira netstat -p , embora eu não saber se você vai encontrar a saída muito mais amigável do que lsof. Também não cumprirá o seu segundo requisito.

    
por 16.03.2011 / 17:32