Answers:
iptables可以为您提供有关每个规则被触发多少的统计信息,因此您可以在感兴趣的端口上添加LOG规则(假设端口20和端口80):
iptables -A INPUT -p tcp --dport 22
iptables -A INPUT -p tcp --dport 80
接着
iptables -n -L -v
将为您提供通过此端口发送的数据包和字节数。当然,您将不得不从输出中解析您感兴趣的端口。
如果需要精确值,请添加-x:
iptables -n -L -v -x
-J
对会计很有益。
您可以将计费规则添加到iptables配置中。这些应该在您接受已建立和相关的流量之前发生,否则您将无法计算通过的流量。要计算网络流量,请尝试以下规则:
iptables -A INPUT -p tcp --dport 80
如果您有一堆,则可能要创建一个会计链,这样就可以与其他链隔离地对其进行报告和清零计数器。
该的shorewall防火墙可以让你轻松的会计规则添加到您的规则集。
不要忘记包括输出流量统计信息。
# Port 80 (HTTP).
iptables -A INPUT -p tcp --dport 80
iptables -A OUTPUT -p tcp --sport 80
# Port 443 (HTTPS).
iptables -A INPUT -p tcp --dport 443
iptables -A OUTPUT -p tcp --sport 443
iptables -n -L -v
iptables -n -L -v -x
iptables -n -L -v -x | grep -i "Chain\|:443\|:80"
Chain INPUT (policy DROP 357 packets, 22828 bytes)
1286265 75076978 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
1305378 75018232 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
Chain OUTPUT (policy ACCEPT 303516 packets, 94716311 bytes)
442 255112 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:80
46 10515 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:443
尚不清楚是否需要每个目标IP的使用情况,但是vnstat是一个有用的工具,用于记录每个接口的流量使用情况。安装它,然后vnstat -u -i eth0
针对要监视的每个接口运行。为了得到每天的使用量vnstat -i eth0 -d
。
vnstat
我可以获得每个端口的统计信息...还是我错了?
LOG
规则(这将淹没您的日志文件),只需计算触发规则的次数即可。