Como o usuário não root pode monitorar o tráfego de rede na linha de comando?

0

Eu sei que o gnome-system-monitor pode me mostrar a largura de banda mesmo quando aberto por um usuário não-root. Mas ferramentas como iftop, nethogs, etc. parecem exigir que o root funcione. Como posso permitir que um usuário regular faça o que o gnome-system-monitor faz? O aplicativo para o qual estou indo é um script que gera Mb / s para cima / baixo a cada n segundos, usado para canalizar para uma linha de status.

    
por nullUser 07.11.2015 / 18:12

2 respostas

3

Os dados que você deseja estão disponíveis para todos, em /proc/net/dev . No entanto, você terá que calcular a largura de banda, tomando o delta e o tempo entre dois valores.

No entanto, lembre-se de que esses contadores podem transbordar, dependendo da arquitetura do sistema e da versão do kernel. O estouro pode ocorrer em 2 32 -1 (alcançável segundos em Gigabit Ethernet) ou 2 64 -1 (praticamente irrelevante).

    
por 07.11.2015 / 18:16
1

Dir /sys/class/net/${interface}/statistics/ tem tudo o que você precisa.

Script BASH baseado nisso: check_bandwidth.sh

    
por 09.11.2015 / 16:05