我生活在一个许多 ISP(互联网服务提供商)都有 FUP(公平使用政策,限制传输数据量)的国家。我需要获得新的连接,并且我想测量我现在传输的数据量,以确定我需要多大(以及多贵)的资费。
我正在寻找一个实用程序,可以记录例如我每小时的上游和下游值,以便我知道在进行各种活动时传输了多少数据。
系统:Fedora 12
答案1
PPP 在断开连接时向日志写入一行,说明每次传输了多少字节。
Linux 的网络过滤器中有一个内置的字节计数器。运行iptables -nvxL
:如果你没有配置任何防火墙,你会看到类似的行
Chain INPUT (policy ACCEPT 720984 packets, 55279820 bytes)
这意味着总共下载了 55MB,但这不是您想要的数字:它包括所有网络接口,甚至是环回界面。每个链都会跟踪号码,因此您可以通过将所有 ISP 的数据包通过另一个链来获得您想要的号码。
iptables -N isp_in
iptables -A INPUT -i eth0 -j isp_in
iptables -P isp_in ACCEPT
每次断开连接时,您都需要保存计数器值,并进行添加。我不知道有哪个应用程序可以执行此操作,但如果尚不存在,我会感到惊讶。
请注意,如果重新启动,计数器值将丢失。您应该定期保存计数器值,以避免大量未被检测到。