Como monitorar o uso da rede para processos no Linux

O acesso à Internet é essencial, mas você pode se perguntar quais processos Linux usam mais sua conexão em seu computador. Felizmente, com alguns utilitários comuns do Linux, é fácil monitorar quais processos usam sua largura de banda. Aqui estão alguns deles:

MUO VÍDEO DO DIA

ROLE PARA CONTINUAR COM O CONTEÚDO

1. nethogs

nethogs é um programa que faz para conexões de internet o que htop ou top faz para CPU e uso de memória. Ele mostra um instantâneo de quais processos estão acessando a rede.

Como top, htop ou atop, nethogs é um programa de tela inteira que é atualizado após alguns segundos para mostrar as conexões de rede atuais por processos.

A instalação do nethogs é simples. Você acabou de passar pelo seu gerenciador de pacotes.

Por exemplo, no Debian e no Ubuntu:

 sudo apt install nethogs 

E no Arch Linux:

 sudo pacman -S nethogs 

Na família Red Hat:

 sudo dnf install nethogs 

Para executar o nethogs, você precisará ser root:

 sudo nethogs 

É possível configurá-lo para que você possa executar o nethogs como um usuário comum usando este comando:

 sudo setcap "cap_net_admin,cap_net_raw+pe" /path/to/nethogs 

Você deve substituir “/path/to/nethogs” pelo caminho absoluto de nethogs. Você pode encontrar isso com o comando which:

 which nethogs 

2. lsof

Embora lsof seja um utilitário para listar arquivos abertos, ele também pode listar conexões de rede abertas. A opção -i lista conexões de internet anexadas a processos em execução no sistema. Afinal, no Linux, tudo é um arquivo.

  Como instalar o Arch Linux

Para ver as conexões de internet atuais, use este comando:

 lsof -i 

lsof mostrará o nome de todos os comandos com conexões abertas à Internet, o PID, o descritor de arquivo, o tipo de conexão à Internet, o tamanho, o protocolo e o nome formal do arquivo da conexão.

Usar as opções -i4 e -i6 permite visualizar conexões usando IPv4 ou IPv6.

Há uma boa chance de você já ter lsof instalado. Também é fácil de instalar nas principais distribuições do Linux, se não for.

No Debian e no Ubuntu, digite:

 sudo apt install lsof 

E no Arco:

 sudo pacman -S lsof 

Na família de distribuições Red Hat:

 sudo dnf install lsof 

3. netstat

O netstat é um programa poderoso por si só, permitindo que você veja as conexões de rede em seu sistema. Ele não mostra a quais processos as conexões de rede estão conectadas. Assim como lsof, você pode ver isso com uma opção de linha de comando.

  Como instalar o navegador Sqlite no Linux

netstat faz parte do pacote net-tools. Você pode instalá-lo na maioria das distribuições Linux usando o gerenciador de pacotes padrão.

Por exemplo, no Debian ou Ubuntu:

 sudo apt install net-tools

No ArchLinux:

 sudo pacman -S net-tools 

Para instalar o netstat no Fedora, CentOS e RHEL, execute:

 sudo dnf install net-tools 

Você pode executar netstat na linha de comando. Por padrão, ele mostrará informações como o protocolo, o endereço e o estado da conexão, mas a opção -p adiciona uma coluna que mostra o ID do processo e o nome do comando.

 netstat -p 

Ao executá-lo, o netstat apenas listará todas as conexões de rede e sairá. Com a opção -c, você pode ver uma lista continuamente atualizada de conexões:

 netstat -pc 

Isso seria semelhante a usar um programa orientado a tela como nethogs, mas a vantagem de fazer dessa maneira é que você pode canalizar a saída para outro programa como grep ou um pager para examiná-lo:

 netstat -p | grep 'systemd' 

Para ver todos os processos com conexões de rede em seu sistema, você pode ter que executar o netstat como root:

 sudo netstat  

Agora você pode ver quais aplicativos do Linux estão consumindo sua largura de banda

O Linux, como muitos sistemas operacionais modernos, está intimamente conectado à Internet. Às vezes, pode ser difícil rastrear quais processos estão usando sua largura de banda. Com ferramentas como nethogs, lsof e netstat, você pode rastrear processos que possuem conexões abertas.

  Como instalar o Arch Linux

Os processos às vezes dão errado, mesmo com conexões. No Linux, você pode encerrar facilmente qualquer processo desonesto.