我有一个 USB 3G 加密狗,我时不时地将它插入路由器来使用,这样网络上的所有计算机都可以使用 3G 连接(而不是将 USB 插入单台计算机)。
这款 3g 适配器有每月数据限制,如果超出限制,任何超出限制的数据使用费用都非常昂贵。因此,我需要一种方法来跟踪 3g 插入路由器时使用的数据/带宽量,以便我知道何时停止使用它。
经过一番搜索,我发现了类似的应用程序暗态和带宽但据我所知,这些工具一直在监控网络流量。我需要做的是仅在使用 3g 时打开/关闭监控。
基本上,我需要能够将 3g 插入路由器,然后启动带宽监视器,然后在拔下它时停止监视器。然后我需要能够持续记录每月使用了多少带宽。
每次插入 3g 时我都必须手动将总数加起来以保持每月累计总数,这没问题。但是,如果有东西可以自动完成这项工作,那就太好了。
答案1
如果我理解正确,那么vnstat
应该可以满足您的要求。它记录所选接口的每小时、每日和每月网络流量。虽然它确实作为守护进程运行,但它为不经常连接的接口提供了--enable
选项--disable
。它还具有针对每月计费流量的配置选项,例如MonthRotate
设置每月计费日期,日志应在何时轮换。注意:从和伪文件系统vnstat
读取流量信息,而不是通过嗅探数据包。因此,设置后,大多数操作都可以在没有 root 权限的情况下运行。/proc
/sys
快速开始:
- 安装 vnstat(应初始化安装时可用的所有网络接口的日志记录并启动守护进程)
- 运行
vnstat --query
并检查所需的接口是否列出(忽略“数据不足”警告) - 如果未列出所需的接口,则需要为其激活日志记录:
- 确保首先连接相应的接口
- 显示可用接口列表
sudo vnstat --iflist
- 为接口创建一个数据库
sudo vnstat --create --iface <interface>
- 编辑
/etc/vnstat.conf
以设置默认界面(Interface "<interface>"
) - 重新启动守护进程以激活日志记录:
sudo systemctl restart vnstat.service
- 产生一些流量,然后
vnstat --query
再次运行
- 您可能还想删除不需要的接口的日志记录:
sudo vnstat --delete --iface <interface>
有关定制和使用的更多信息,请参阅和man vnstat
。man vnstat.conf
man vnstatd