对于我所拥有的测试设置,我需要以大约 5 秒或更短的间隔定期监控“路由器”* 的吞吐量(亚秒间隔非常好,但不是必需的)。理想情况下,我可以生成一个文件,其中包含每个间隔内看到的字节数和数据包数。我最终将从这些数据中生成吞吐量的时间序列。
在之前使用旧版 FreeBSD 的设置中,有一个名为“bpfmon”的工具可以向我提供此信息。但是,我需要在现代版本的 Linux(即 Ubuntu 11.04)下执行此操作。
我查看了和iptraf
,iftop
但它们似乎没有提供我需要的解决方案,也似乎无法轻松抓取我需要的数据。我知道 iptables 统计数据可能能够提供我想要的结果,但我见过的示例似乎依赖于反复读取和重置流量计数器,这似乎可能不准确,因为读取/重置不是原子操作。我已经在想要监控的链接上捕获了我感兴趣的流量的 tcpdump 跟踪,因此我愿意接受简单解析它的方法。
我觉得这一定是一个常见的问题,所以我希望有一个标准的“最佳实践”工具来实现这一点。
*我在引号中说“路由器”是因为我实际上谈论的是一台具有两个桥接 NIC 的机器,我感兴趣的所有流量都会通过这台机器。
答案1
答案2
你为什么不尝试使用 iptraf?转到配置/计时器.../屏幕更新间隔...菜单并输入 1(表示 1 秒采样频率)。顺便说一句,如果 NIC 是桥接的,它就不会被称为“路由器”。它可能是一座桥梁或一个交换机。