运维·

iftop的使用

iftop是一款实时监控网络流量的命令行工具,类似top命令,可直观显示每个连接的带宽使用情况。它提供动态流量视图、按流量排序功能,并通过条形图等可视化方式展示数据。安装简单(Ubuntu/Debian用apt-get,CentOS/RHEL用yum),基本用法为sudo iftop。界面分为三部分:顶部刻度尺、中部连接列表(核心监控区)和底部统计信息。常用选项包括-i指定网卡、-n禁用DNS解析、-P显示端口等。运行时可通过快捷键(如h查看帮助、P暂停刷新)交互操作。典型应用场景包括排查带宽异常问题,结合
linux服务器运维

iftop 是一款用于实时监控网络流量的命令行工具,它类似查看系统资源的 top 命令,可以让你直观地看到服务器上每个网络连接的带宽使用情况。

核心用途与特点

  • 实时监控:动态显示每个连接的瞬时、平均流量。
  • 按主机/连接排序:默认将流量最大的主机或连接排在最前,便于快速定位带宽消耗源。
  • 可视界面:提供条形图、方向箭头等,流量情况一目了然。

安装 iftop

在大多数 Linux 发行版上,都可以通过包管理器轻松安装:

  • Ubuntu/Debiansudo apt-get install iftop
  • CentOS/RHELsudo yum install iftop

注:在较新的 CentOS/RHEL 上,可能需要先启用 EPEL 仓库再安装。

基本使用与界面解读

最简单的启动方式是直接运行 sudo iftop 命令,它会监控默认的网络接口(通常是 eth0ens33)。

启动后的界面主要分为三个部分:

界面区域关键信息说明
顶部刻度尺条形图流量的比例尺,用于衡量下方各连接流量条的相对大小。
中部连接列表核心区域,每一行代表一个活动连接,按流量排序。主要看三部分:
1. 左侧条形图:直观表示该连接的实时流量大小。
2. 中间主机信息:显示本地与远程主机(IP/主机名)。=> 表示发送,<= 表示接收。
3. 右侧三列数字:分别代表过去 2秒、10秒、40秒 的平均流量速率。
底部统计行TX:发送总流量;RX:接收总流量;TOTAL:总流量。
rates:与顶部三列对应,是全局的 2s/10s/40s 平均速率。
peak:流量峰值;cum:从启动 iftop 至今的累计流量。

常用命令行选项

启动 iftop 时可以附加一些常用选项,帮助你更聚焦地查看信息。

选项说明与用途
-i <网卡>指定监控的网卡,如 iftop -i eth1
-n进行主机名解析(DNS 查询),直接显示 IP,能加快显示速度。
-N将端口号转换为服务名称(如 80 不显示为 http),直接显示端口号。
-P同时显示主机和端口信息,这是排查问题非常有用的选项。
-F <网段>仅显示指定本地 IPv4 网段的进出流量,如 iftop -F 192.168.1.0/24
-BByte(字节) 为单位显示流量,默认是 bit(比特)。1 Byte = 8 bits。

运行时交互命令

iftop 运行界面中,按下键盘上的特定键可以切换显示模式,这些功能在等来源中均有提及。下表列出最实用的几个:

按键功能
h切换显示/隐藏帮助界面。
n切换显示主机名或 IP 地址。
P暂停/继续 刷新显示。暂停时方便仔细查看当前快照。
q退出 iftop。
1/2/3根据右侧流量数据列(2s, 10s, 40s 平均)进行排序。
< / >根据左侧(源)或右侧(目标)的 IP/主机名排序。

实用场景案例

这里是一个结合了选项和交互命令的典型排查步骤:

  1. 初步定位:假设服务器网卡 eth0 带宽异常跑满。你首先以详细模式启动 iftop:sudo iftop -i eth0 -n -P
    • -i eth0:监控指定网卡。
    • -n:直接显示 IP,避免 DNS 查询延迟。
    • -P:显示端口,能知道是哪个应用的连接。
  2. 分析界面:启动后,流量最大的连接会排在最前面。观察中间列表,看是哪个远程 IP 和端口占用了最多带宽,以及方向是发送(=>)还是接收(<=)。
  3. 进一步诊断:记下可疑的 IP 和端口号。例如,发现 10.0.0.5:5432 这个连接流量巨大。可以打开另一个终端,使用 netstatss 命令查找使用该端口的进程:sudo netstat -tunap | grep 5432 # 或 sudo ss -tunap | grep 5432
    命令输出会显示是哪个进程(PID 和程序名)建立了这个连接,从而找到根源。

重要注意事项

  • 权限要求iftop 需要监听网卡数据包,因此通常需要 sudo 提权或以 root 用户身份运行。
  • 工具定位iftop 主要擅长实时流量展示和连接级别的排序。如果需要进行长期的流量统计、更深入的数据包分析或生成报告,可以将其作为快速排查的第一步,然后根据需要使用 vnstatnloadtcpdump 等其他工具。

希望这个简单的指南能帮你快速上手 iftop!如果你在监控特定服务(比如 Web 服务器或数据库)的流量时遇到了具体问题