计算每个TCP连接的已交换字节数


1

我需要为Linux计算机上的每个ESTABLISHED TCP连接获取一个使用交换的字节(Rx和/或Tx)更新的表(至少,连接列表(端口范围),因此实际上不是全部

我的梦想是扩展“ netstat”并将这些计数器作为附加列。但是在哪里可以找到这些信息?也许这在内核中可用?/ proc中?* nix工具?我应该坚持使用libpcap吗?

提示:我不能为每个连接启动一个tcpdump。我会避免被不必运行这个东西为根(当然,sudo可讨论)

感谢您的所有投入...

Answers:


2

我建议使用IPTABLES计数器,您可以使用以下命令在iptables中显示每个规则的数据包计数器

iptables -nL -v

选项-v在这里显示数据包和字节数。

唯一的问题是每个连接条目都需要有一个匹配规则(-j ACCEPT)。

例如下面的规则计算从我的linux盒生成的所有TCP数据包。

iptables -A OUTPUT -p tcp -j ACCEPT

现在我只需要跑步

iptables -nL -v

查看使用的字节数和数据包数。


甜!这是全新的输入...我可以使用它,再次仅在“ root”模式下使用,但可能会导致某些问题,我将尝试一下(当然是“ iptables -A OUPUT -p tcp -j ACCEPT”不会在我的盒子上
放进去

我不好,应该是iptables -A OUTPUT -p tcp -j ACCEPT
Bharat

0

如果您想要一些精美的图形化内容,可以看看ntop-它在大多数发行版的apt / yum /中。

它监视网络流量,以每个连接,协议,主机等为基础创建漂亮的图形和图表,并通过您的Web浏览器(具有内置的Web服务器)将其全部显示。

很好,但是很重。


那的确是非常宝贵的意见,因为它是一个完整的产品,并清晰地再现我希望看到的输出,就像:iptraf.seul.org/shots/iptraf-tcpudp.gif 但同样,这是一个面向libpcap的,我必须要根(确实相当重量级)
blietaer 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.