每个网络端口的流量统计

pbm*_*pbm 15 networking statistics

我有两台机器有两个应用程序,它们在几个网络端口(TCP 和 UDP)上相互通信。我想计算他们发送和接收的流量。我不仅需要总体计数,还需要每个端口每天每台机器的统计数据。我试过darkstat,但它不提供每天的统计数据,而只提供整体计数器。

有没有其他方法可以计算流量(我可以在这两台机器之间放置一些代理或网关)。

mze*_*zet 17

iptables 可以为您提供有关每个规则被触发的次数的统计信息,因此您可以在感兴趣的端口上添加 LOG 规则(比如端口 20 和端口 80):

iptables -A INPUT -p tcp --dport 22
iptables -A INPUT -p tcp --dport 80
Run Code Online (Sandbox Code Playgroud)

进而

iptables -n -L -v
Run Code Online (Sandbox Code Playgroud)

将为您提供通过此端口发送的数据包和字节数。当然,您必须从输出中解析您感兴趣的端口。

如果需要精确值,请添加 -x:

iptables -n -L -v -x
Run Code Online (Sandbox Code Playgroud)

  • 无需放置“LOG”规则(这会淹没您的日志文件),只需计算触发规则的次数即可。 (4认同)
  • 的确。规则不需要有动作。一个有用的教训:没有“-J”的规则有利于会计。 (4认同)