Contagem de bytes trocados por conexão TCP

1

Eu preciso de uma tabela atualizada com os bytes trocados (Rx e / ou Tx) para cada conexão TCP ESTABLISHED em uma máquina linux (bem, pelo menos, uma lista de conexões (intervalos de portas), portanto, na verdade não todos )

Meu sonho seria estender 'netstat' e ter esses contadores como colunas adicionais. Mas onde encontrar essas informações? Talvez isso esteja disponível no kernel? / proc? * ferramenta nix? Devo ficar com a libpcap?

Dicas: O que eu CAN'T faço é iniciar um tcpdump para cada conexão. O que eu evitaria é ter que rodar esse algo como root (bem, o sudo pode ser discutido)

Obrigado por todas as suas contribuições ...

    
por blietaer 25.03.2011 / 14:20

2 respostas

2

Eu recomendaria o contador IPTABLES, você pode mostrar o contador de pacotes para cada regra no iptables usando

iptables -nL -v

a opção -v aqui mostra a contagem de pacotes e bytes.

O único problema é que você precisa ter uma regra correspondente (-j ACCEPT) para cada entrada de conexão.

Por exemplo, abaixo, a regra conta todos os pacotes TCP gerados a partir da minha caixa linux.

iptables -A OUTPUT -p tcp -j ACCEPT

Agora só preciso executar

iptables -nL -v

para ver os bytes e a contagem de pacotes usados.

    
por 31.03.2011 / 01:19
0

Se você quer algo sofisticado e gráfico, você pode dar uma olhada em ntop - está na maioria das distros do apt / yum / whatever.

Ele monitora o tráfego da rede criando gráficos e gráficos interessantes por conexão, protocolo, host, etc. e exibe tudo através do navegador da Web (possui um servidor da Web integrado).

É legal, mas bastante pesado.

    
por 25.03.2011 / 16:14