Obtendo estatísticas de tráfego UDP entre hosts específicos no Linux

1

Eu preciso reunir algumas estatísticas de rede para testar meu aplicativo de servidor. Eu tentei muitas ferramentas de Linux, mas nada que eu encontrei atende às minhas necessidades.

Basicamente eu quero reunir algumas estatísticas UDP (bytes / time_interval, pacotes / time_interval, packets_loss), mas em relação a apenas dois hosts em particular - por exemplo eu quero obter estatísticas UDP do tráfego indo de IP_A: PORT_A para IP_B: PORT_B.

Ferramentas como o tcpdump / wireshark podem facilmente descarregar esse tráfego, mas eu tenho problemas com a obtenção de estatísticas como velocidade temporária (veja também as taxas de transferência), e as estatísticas do sistema Linux me dão o número de todo o tráfego.

Seria melhor obter saída de texto para que fosse possível analisá-la e colocá-la no gnuplot. Consegui obter informações desejadas do iptables, mas parsing output from

iptables -L -v

parece bastante difícil.

Alguém tem alguma ideia de como posso alcançá-lo?

Obrigado antecipadamente

    
por harnen 08.06.2011 / 14:44

1 resposta

1

Use regras personalizadas de iptables:

iptables -I INPUT -p udp -s IP_A --sport PORT_A -d IP_B --dport PORT_B
iptables -I OUTPUT -p udp -s IP_B --sport PORT_B -d IP_A --dport PORT_A

E, em seguida, sondá-lo em intervalos regulares (a cada segundo? 5 segundos?) anotando as alterações e fazendo os cálculos apropriados.

    
por 09.12.2011 / 05:11