Deseja visualizar o uso da rede para todos os processos atualmente ativos em seu PC Linux? É fácil com essas ferramentas de código aberto.
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:
1. nethogs
nethogs é um programa que faz para conexões de internet o que htop ou top faz para uso de CPU e 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" com o caminho absoluto de nethogs. Você pode encontrar isso com o comando which:
which nethogs
2. lsof
Enquanto lsof é um utilitário para listar arquivos abertos, ele também pode listar conexões de rede abertas. O -eu A opção lista conexões de internet anexadas a processos em execução no sistema. Afinal, no Linux, tudo é um arquivo.
Para ver as conexões de internet atuais, use este comando:
lsof -i
lsof mostrará o nome de todos os comandos com conexões de internet abertas, o PID, o arquivo descritor, o tipo de conexão com a Internet, o tamanho, o protocolo e o nome formal do arquivo do conexão.
Usando o -i4 e -i6 opções 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.
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 o -p A opção 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 o -c opção, 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.
Os processos às vezes dão errado, mesmo com conexões. No Linux, você pode encerrar facilmente qualquer processo desonesto.