我正在尝试获取 eth0、端口 10001 的瞬时带宽使用情况。我研究过使用许多不同的工具,但其中大多数似乎都有 ncurses 类型的输出,不适合输入到我的程序中。
我见过如何从 Linux 命令行获取任意给定秒的接口带宽?,但这仅提供某个接口的总体统计信息,并未按端口进行细分。
理想情况下,我想要一个接受两个参数(eth0 和端口 10001)的命令,运行 500 毫秒,计算数据包的数量和大小并输出一个简单的兆字节/秒指标。
这个要求太过分了吗?
有人有什么想法吗?
答案1
您可以尝试使用 ifstat 命令。使用默认调用,它会定期显示带宽使用情况,直到您按下 Control-C 但您可以像这样调用它:
ifstat <delay> <count> (i.e. ifstat 1 1)
这样它会在一秒钟内为您提供带宽使用情况,并且可以编写脚本。