Como calcular o volume de dados transferidos entre duas máquinas Unix

3

Eu tenho dois computadores Linux que continuam pingando uns aos outros. Com cada solicitação de ping, eles anexam um pacote de dados na resposta. A frequência dos pings não pode ser determinada.

Como determino quantos GB de dados eles transferem entre si através da Rede?

    
por Geek 29.11.2010 / 11:03

3 respostas

7

Supondo que você tenha acesso root à máquina Linux em algum lugar do caminho (terminal ou até mesmo um roteador intermediário), é possível escrever uma regra iptables que corresponda ao tráfego do aplicativo e direcione-a para uma cadeia específica que não faz nada além de aceita todos os pacotes. O kernel mantém um byte e um contador de pacotes em cada cadeia. Assumindo que os pacotes que você deseja contar vão de IP 10.1.2.3 Porta TCP 42123 para IP 10.7.8.9 Porta TCP 42789:

iptables -I FORWARD -p tcp -s 10.1.2.3 --sport 42123 -d 10.7.8.9 --dport 42789 -j ACCEPT

Substitua FORWARD por OUTPUT no host de origem por INPUT no host de destino. Você pode ler os contadores com iptables -nvxL FORWARD 42 , em que 42 é o número de regras (a primeira regra é o número 1).

Faça isso para cada direção, se quiser contar as duas direções. Leia os contadores em intervalos de tempo conhecidos para medir o uso da largura de banda.

Você pode ganhar um pouco de flexibilidade se criar uma cadeia intermediária.

iptables -N myapp_counter
iptables -A myapp_counter -j ACCEPT
iptables -I FORWARD -p tcp -s 10.1.2.3 --sport 42123 -d 10.7.8.9 --dport 42789 -j myapp_counter
iptables -I FORWARD -p tcp -s 10.7.8.9 --sport 42789 -d 10.1.2.3 --dport 42123 -j myapp_counter

Com essa configuração, o contador do myapp_counter incluirá o tráfego nas duas direções. Outro benefício de passar por uma cadeia é que você pode ler atomicamente o contador na cadeia e defini-lo como 0 com iptables -nvxZL myapp_counter . E você não precisa descobrir o número da regra, por isso é mais fácil automatizar a configuração.

    
por 29.11.2010 / 22:20
0

você pode ver estatísticas com ifconfig .

    
por 29.11.2010 / 11:50
0

Você pode verificar qual programa está usando dados com nethogs ( link ).

    
por 29.11.2010 / 12:05

Tags