您可以使用iptables。如果尚未使用它,则可以使用开放的“接受”配置,但是要有一个规则来进行计数。
例如,在RHEL上,您的/etc/sysconfig/iptables
文件可能类似于:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -j INPUT
-A INPUT -s 10.10.1.1 -p tcp -m tcp --sport 80 -j ACCEPT
-A OUTPUT -d 10.10.1.1 -p tcp -m tcp --dport 80 -j ACCEPT
其中10.10.1.1:80是要计入流量的host:port(不能使用主机名)。然后,您可以iptables -nvxL
以root身份检查以命令计数的流量。
输出示例:
Chain INPUT (policy ACCEPT 7133268 packets, 1057227727 bytes)
pkts bytes target prot opt in out source destination
7133268 1057227727 ACCEPT tcp -- * * 10.10.1.1 0.0.0.0/0 tcp spt:80
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 INPUT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 7133268 packets, 1057227727 bytes)
pkts bytes target prot opt in out source destination
7133268 1057227727 ACCEPT tcp -- * * 0.0.0.0/0 10.10.1.1 tcp dpt:80