在Linux上的特定主机之间获取UDPstream量统计信息

我需要收集一些networking统计信息来testing我的服务器应用程序。 我已经尝试了许多Linux工具,但没有发现适合我的需求。

基本上我想收集一些UDP统计信息(bytes / time_interval,packets / time_interval,packets_loss),但只涉及两个特定的主机 – 例如,我想从IP_A:PORT_A到IP_B:PORT_B的stream量获取UDP统计信息。

像tcpdump / wireshark这样的工具可以很容易地转储这样的stream量,但我得到像临时速度(也看到吞吐量窥视)统计数据的问题,和Linux系统统计给我所有stream量的数字。

得到文本输出会更好,所以可以parsing它并把它放到gnuplot。 我能够从iptables得到所需的信息,但parsing输出

iptables -L -v 

看起来相当困难。

任何人有任何想法我怎么能实现它?

提前致谢

使用定制的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 

然后定期轮询(每秒?5秒?)注意到这些变化并进行适当的计算。