我正在 Linux 上工作,正在寻找一个可以显示当前网络使用情况和网络带宽的内置命令。内置是指操作系统默认安装的命令。我能想到的命令是ifconfig
,,ip
。netstat
但我不知道如何使用它们来计算当前的系统带宽。以下是以下的输出ifconfig
:
eth0 Link encap:Ethernet HWaddr 02:42:ac:11:00:02
inet addr:172.17.0.2 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:21293 errors:0 dropped:0 overruns:0 frame:0
TX packets:13234 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12224259 (11.6 MiB) TX bytes:4552513 (4.3 MiB)
它告诉我传输的总数据量是11.6MB
。我可以多次运行该命令,每次之间有一定的间隔。然后我可以计算网络接口上当前的网络使用情况eth0
。但如何知道eth0
接口的带宽呢?
我做了一些搜索,大多数帖子建议通过apt-get
或yum
例如 来安装其他命令nload
。iftop
由于我正在构建一个工具来分析系统上的网络使用情况,因此我不想向我的工具添加任何额外的安装要求。
答案1
您可以尝试使用它的输出ifconfig
来生成接口上发送的总数据。使用 bash 脚本,您可以构建自己的监控实用程序。
如果您可以安装新软件,我建议网络猪。