Linux Tool:iftop 网络监控
Posted on Wed, 25 Dec 2024 13:58:54 +0800 by LiangMingJian
概述
iftop 是 Linux 中的一个实时流量监控工具。它可以监控指定网卡的实时流量、端口的连接信息、反向解析的 IP 等内容,还可以精确显示本机网络流量及网络内各主机和本机相互通信的流量集合。
安装
yum install -y epel-release
yum install -y iftop
使用
iftop -P -i eth0
参数 -i 用以指定需要监控的网卡,上述监控的网卡为 eth0,网卡名称可以通过命令 ip addr 进行查看。
参数 -P 用以显示主机以及端口信息。
其他常用的参数支持有:
-B:将输出以 byte 字节为单位显示,默认是 bit 位,1 byte = 8 bit,1 byte = 1B-F:仅显示特定网段的网卡进出流量,如iftop -F 192.168.1.0/24-m:设置输出界面中流量刻度条的最大值,如iftop -m 100M
其余支持的参数,可以通过指定 -h 来进行查看。
输出界面解析
以下为 iftop -P -i eth0 命令的输出:

在 iftop 的输出中,最上面的一行,表示的是流量刻度,用于显示网卡带宽流量。
在 iftop 输出的中央主体部分,分为左、中、右三列。
左列和中列,记录了哪些 IP 或主机正在和本机的网络进行连接,左列是本机,右列是客户机。其中,=> 代表发送数据,<= 代表接收数据,通过这个指示箭头可以很清晰地知道两个 IP 之间的通信情况。
特别注意,对于服务器来说,服务器的发送(上行)流量相当于客户机的下载(下行)流量,客户机的上传(上行)流量相当于服务器的下载(下行)流量。
最右列分别表示外部 IP 连接到本机 2 秒内、10 秒内和 40 秒内的平均流量值。
此外,在每行中,还有一个白色的流量图形条来对流量大小进行动态展示,它以顶部的流量刻度条为基准。
最后,在 iftop 输出界面的最下面分别展示 TX 发送数据的总量,RX 接收数据的总量,TOTAL 全部流量的统计数据。
与这三行对应的有三列,其中 cum 表示从运行 iftop 到目前的发送、接收和总数据流量。peak 表示发送、接收以及总的流量峰值。rates 列表示过去 2s、10s、40s 的平均流量值。
交互式使用
在 iftop 的实时监控界面中,还可以对输出结果进行交互式操作,完成对输出信息进行整理和过滤。在 iftop 实时监控时,按下 h 即可进入交互选项界面。
在交互界面中,可按下以下参数进行信息整理:
| 功能按键 | 含义 |
|---|---|
| P | 切换暂停和继续显示 |
| h | 切换交互参数界面和输出界面 |
| b | 是否显示平均流量图形条 |
| B | 切换显示 2 秒、10 秒、40 秒内的平均流量 |
| T | 是否显示每个连接的总流量 |
| j/k | 向上(j)或向下(k)滚动屏幕 |
| l | 可开 iftop 输出过滤功能,输入要显示的 IP,回车后,只显示与这个 IP 相关的信息 |
| L | 切换显示流量刻度条的范围 |
| q | 退出 iftop 流量监控界面 |
| n | 使 iftop 输出结果以 IP 或主机名的方式显示 |
| s | 切换是否显示源主机信息 |
| d | 切换是否显示远端目标主机信息 |
| t | 切换 iftop 输出显示格式 |
| N | 是否显示端口号和端口号对应服务名称 |
| S | 是否显示本地源主机的端口信息 |
| D | 是否显示远端目标主机的端口信息 |
| p | 是否显示端口信息 |
| 1/2/3 | 根据最近 2 秒、10 秒、40 秒的平均网络流量排序 |
| < | 切换左边的本地主机名或 IP 地址进行排序 |
| > | 切换远端目标主机的主机名或 IP 地址进行排序 |
| o | 是否固定显示当前的连接 |