Por conta do tráfego de rede do usuário no Linux

2

Eu tenho vários usuários em um computador executando o Linux (Ubuntu Lucid para ser mais específico).

Preciso ver quanto tráfego de rede eles geram em uma interface específica.

Os repositórios podem corresponder aos pacotes de saída, para que eu possa criar cadeias para cada usuário para poder contar o tráfego de rede de saída. No entanto, o tráfego de entrada também é significativo.

Eu tenho várias opções: -Escrevendo uma nova correspondência do iptables para pacotes de entrada - Escrevendo um novo módulo iptables que combina correspondência de usuário de pacote de saída e rastreamento de conexão -Escrevendo um driver TUN / TAP que de alguma forma capaz de identificar o processo emissor e receptor e usuário, e escrever um log -...

Qual é a melhor maneira de fazer isso? Existe alguma solução existente para isso?

Obrigado antecipadamente.

    
por netom 15.10.2010 / 11:57

1 resposta

2

Eu consegui descobrir isso.

Eu escrevi uma biblioteca LD_PRELOAD que sobrescreve, recv, lê, escreve a família de funções e registra essas operações nos sockets.

O código fonte é muito experimental e não é seguro, mas de qualquer forma, eu coloco no SourceForge:

link

    
por 17.10.2010 / 13:47