帮助中心 >  行业资讯 >  云计算 >  Linux实时网络带宽监控工具:iftop

Linux实时网络带宽监控工具:iftop

2025-02-28 15:40:40 467

iftop 命令简介

iftop 是一个实时网络带宽监控工具,它能够捕获流经网口的入方向和出方向的数据包总数,并显示总带宽利用率。iftop 可以帮助系统管理员监控网络流量,识别网络瓶颈,以及检测潜在的安全威胁。


#iftop -hiftop: display bandwidth usage on an interface by host

Synopsis: iftop -h | [-npblNBP] [-i interface] [-f filter code]
              [-F net/mask] [-G net6/mask6]  
-h                显示这条消息
 
-n                不要做主机名查找
 
-N                不要将端口号转换为服务
 
-b                不要显示交通的条形图
 
-B                以字节为单位显示带宽
-a                以字节为单位显示带宽
-i interface          监听指定接口
-f filter code     使用过滤码选择要计数的数据包 (默认值:无,但只统计IP报文)
-F net/mask           显示进出IPv4网络的流量  
-G net6/mask6          显示进出IPv6网络的流量
 
-l                显示和计数链路本地IPv6流量(默认为off)
 
-P                显示端口和主机
 
-m limit            设置带宽规模的上限
-c config file         指定可选配置文件  
-t                 使用没有护士的文本界面

Sorting orders:  
-o 2s              按第一列排序(平均流量2s)
 
-o 10s              按第二列排序(平均流量10s)[默认值]
 
-o 40s              按第三列排序(平均40秒流量)
 
-o source            按源地址排序
-o destination         按目的地址排序

以下选项只能与-t组合使用
-s num              在num秒后打印一个文本输出,然后退出

-L num              打印的行数

流量刻度部分

这部分显示在iftop输出的顶部,是流量图表,用于显示网卡带宽流量。它可以帮助您直观地理解当前的网络流量状况。

连接信息部分

这部分占据了iftop输出的主体部分,通常分为左、中、右三列。左列和中列记录了哪些IP或主机正在和本机的网络进行连接。中列的“=>”代表发送数据,“<=”代表接收数据,通过这个指示箭头可以清楚地知道两个IP之间的通信情况。最右列又分为三小列,分别表示外部IP连接到本机2秒内、10秒内和40秒内的平均流量值。

image.png


流量统计部分

位于iftop输出的最下方,包括“TX”(发送数据)、“RX”(接收数据)和“TOTAL”(总流量)。与这三行对应的有三列,分别表示从运行iftop到目前的发送、接收和总数据流量。“cum”表示累计流量,“peak”表示流量峰值,“rates”表示过去2秒、10秒、40秒的平均流量。

交互操作

iftop提供了一系列的交互操作,允许您对输出结果进行整理和过滤。例如,您可以使用“h”键进入交互选项界面,使用“l”键打开输出过滤功能,使用“L”键切换显示流量刻度范围,使用“q”键退出iftop流量监控界面等。

如何利用iftop的输出结果

  1. 监控特定网卡流量:使用-i参数指定需要检测的网卡,例如: 

    iftop -i eth0


  2. 显示流量单位为字节:使用-B参数,例如

    iftop -i eth0 -B


  3. 显示流量进度条:进入iftop界面后按下L键。

  4. 显示每个连接的总流量:进入iftop界面后按下T键。

  5. 筛选特定IP的流量:使用-l参数,例如

    iftop -i eth0 -n -l 172.17.1.158


  6. 找出流量最多的IP和端口:首先筛选特定IP,然后按下p键根据端口号显示,最后通过观察流量统计部分找到流量最大的连接。


以下是一些常用的 iftop 命令使用案例:

显示整体带宽使用指标
如果不带任何参数,iftop 命令将显示连接到系统的所有网络接口的带宽使用情况。

sudo iftop

查看指定网口的带宽统计信息
要显示特定网络接口的统计信息,可以使用
-i 标志和接口名称。例如,显示与某个接口 (例如:enp0s8) 相关的带宽活动。

sudo iftop -i enp0s8


禁用或隐藏顶部条形图
要隐藏或禁用位于终端顶部的带宽比例或栏,请使用
-b 选项。

sudo iftop -b

禁用主机名查找
要禁用主机名查找,可以使用
-n 选项。例如,忽略使用 enp0s8 网络接口访问的站点的主机名查找。

sudo iftop -n -i enp0s8

显示直观的文本输出
以更直观的方式显示输出,请使用
-t 选项。

sudo iftop -t

显示进出子网的流量
如果您在子网中,例如 192.168.2.0/24,并且要分析入站和出站网络流量,请运行命令:

sudo iftop -F 192.168.2.0/24

按来源地址对输出进行排序

sudo iftop -o source

按目的地址对输出进行排序

sudo iftop -o destination

以字节为单位显示带宽使用情况

sudo iftop -B -i enp0s8

显示帮助页
显示 iftop 的帮助页面,了解更多详细信息和选项。

man iftop

以上命令均需以 root 权限执行,除非特别指明。在使用 iftop 之前,确保已经按照相应的操作系统安装了 iftop 工具。例如,在基于 RHEL 的发行版上,大家可能还需要先启用 EPEL 存储库,然后安装 iftop。在 Debian 或 Ubuntu 上,可以直接使用 apt 包管理器安装 iftop。


总之,iftop 作为一款功能强大且实用的网络带宽监控工具,无论是排查网络故障、优化网络性能,还是强化网络安全管理,都能发挥重要作用。系统管理员熟练掌握 iftop 的使用,将极大提升网络运维效率,确保网络环境高效、稳定运行,为各类业务的开展筑牢网络根基。


蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,也可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索,助力你在 Linux 运维之路上稳步前行。





提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: