今天,对带宽的需求不时增长。电影、流媒体、在线游戏是一些消耗大量带宽的应用程序。系统管理员应管理和监控进出其服务器的带宽。互联网上有很多网络监控。在 Linux 上,系统还有另一种称为iftop的替代工具。
什么是iftop
在iftop 网站上,iftop 被定义为一个应用程序,它侦听命名接口上的网络流量,并按主机对显示当前带宽使用情况表。iftop 像 top 命令一样对 CPU 做同样的事情。
安装 iftop
Iftop 在源代码文件中可用。我们需要先编译它。但别担心,这个安装很容易。以下是步骤。
1.下载iftop源码
$ wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
2.提取它
$ tar zxvf iftop-0.17.tar.gz
3.配置iftop
$ cd iftop-0.17
$ ./configure
在我的 Linux 上,运行 ./configure 步骤时出现错误 libpcap。
为了解决它,我安装了libpcap-dev。我在我的 Ubuntu Linux 上运行以下命令。
$ sudo wajig install libpcap-dev
安装库后,我再次重新运行 ./configure 。
4. 编译
$ make
5.以root身份安装
# make install
使用 iftop
iftop 需要以 root 用户身份运行。否则,您将收到一个错误,说明权限不足。
获得root权限后,只需键入:
# iftop
如何阅读信息
iftop 将显示这些信息。
top是一个度量单位。下面的地址是您的计算机(例如 dev-machine-2.local)与外部地址之间的交互。每个地址有 2 个成对连接。Iftop 向我们展示了 2、10、40 秒间隔的交互。
例如,我们将查看top地址。
- dev-machine-2.local 前2 秒向地址 69.174.48.129 发送 416 b 数据
- 前10 秒dev-machine-2.local 发送了 6.83Kb 数据
- 在前面的40 秒dev-machine-2.local。6.83Kb 数据
同时 :
- 69.174.48.129前2秒发送1.05Kb数据到dev-machine-2.local
- 在前10 秒内它发送了 42.5Kb 数据
- 在之前的40 秒内,它再次发送了 42.5Kb 数据
最后,iftop 向我们展示了一些结果:
- 累积 TX 和 RX 数据
- 过去 40 秒内的峰值 TX 和 RX 数据
- 2 秒、10 秒和 40 秒的平均总传输速率
使用选项运行 iftop
打开端口显示
要打开端口显示,请在iftop中添加-P选项
# iftop -P
端口将显示在两侧。开启此选项后,我们可以分析最常发生的通信类型。
以字节/秒显示带宽速率
默认情况下, iftop 将以比特/秒显示速率。要以bytes/sec显示它,我们可以使用-B选项。
# iftop -B
我们知道,以字节/秒为单位的 iftop 显示速率来自发送 (TX) 和接收 (RX) 数据上的大写 B 字母。如果我们在发送和接收的数据上显示b 字母,它会告诉我们速率以比特/秒为单位。
指定用于流量分析的网络
我们也可以要求 iftop 只监控指定的网络掩码。要使用它,我们可以使用-F选项后跟网络掩码。
# iftop -F 255.255.0.0
上述命令将要求 iftop 监视具有网络掩码 255.255.0.0 的网络。
指定监听接口
如果您的系统有超过 1 个接口需要监控,我们可以指定特定的接口。假设我们要监控eth0接口,我们可以使用-i选项后跟接口名称。
# iftop -i eth0
限制上限带宽
Iftop 提供了一个限制上限带宽的选项。要使用这个我们可以在-m选项后面加上多少限制。
# iftop -m 2000
上面的命令将告诉 iftop 限制2 Kb (2 Kilobits)。
On-screen命令
iftop 的另一个有趣之处在于 iftop 提供了屏幕上的命令。按iftop 屏幕上的问号 (?)按钮以显示可用命令。
要退出屏幕命令帮助,请再次按问号按钮。
结论
Iftop 并非旨在监控长期的网络带宽使用情况,而是更多地监控实时带宽使用情况以进行分析。iftop 源代码文件在 160 Kb 左右,提取后为 1.2 Mb,iftop 很轻,但功能很好。像往常一样,我们总是可以输入man iftop或iftop -h来显示它的手册页并更详细地探索它。