(纯个人纪录,查到的东西没太理解的了😅 ,安装的话正常apt或者yum应该就可以,apt好像要安装sysstat,yum的应该是直接安装iftop)

iftop 是一款实时监控网络流量的命令行工具,类似于 top 但专注于网络接口的带宽使用情况。它按流量大小排序连接,帮助快速识别占用带宽最多的进程或主机。以下从界面结构、数据含义到判断方法逐步解析。(这段话百度一大堆,直接查就有了)

一、界面结构

运行命令 sudo iftop -i <网卡名>(如 enp125s0f0)后,界面分为三部分:

  1. 顶部刻度条‌:显示实时带宽占用比例。
  2. 中部连接列表‌:展示活跃网络连接的流量详情。
  3. 底部统计区‌:汇总发送(TX)、接收(RX)及峰值流量。

二、数据字段详解

1. 顶部刻度条

sudo iftop -i enp125s0f0

0.0Kb     25.0Kb     50.0Kb      78.5Kb     100.0Kb    130.5Kb ├──────┴──────┴──────┴──────┴──────┤

  • 作用‌:动态显示当前带宽占用比例,刻度值随流量自动调整。
  • 判断‌:若刻度条频繁满格,说明带宽接近饱和,需优化或排查高流量来源‌。
  • 流量图形条‌:按 b 键可启用/禁用图形化流量条,直观显示带宽占比‌

2. 中部连接列表,这里是有进出方向的,看箭头,两行算一组‌来看

sudo iftop -i enp125s0f0

192.168.1.10:ssh       => 203.0.113.5:1234        2.0Kb 1.5Kb 0.8Kb

               <=                 0.2Kb 0.1Kb 0.0Kb

  • 每行结构‌:
    • 源地址:端口 → 目标地址:端口‌:表示流量方向(=> 为发送,<= 为接收)
      • => 表示数据从本地发送到目标地址(发送流量,TX)
      • <= 表示数据从目标地址接收至本地(接收流量,TX)
      •  若未启用 -n 参数,地址可能显示为 DNS 解析后的主机名‌
    • 三个速率列‌:分别为过去 ‌2秒‌、‌10秒‌、‌40秒‌ 的平均流量速率。
      • 第一列‌(2秒):反映瞬时流量波动,适合捕捉突发传输。
      • 第二列‌(10秒):短期趋势,识别短暂高负载。
      • 第三列‌(40秒):长期趋势,判断持续占用带宽的连接。
  • 排序规则‌:默认按 ‌2秒速率‌ 降序排列,按 t 可切换排序依据。

3. 底部统计区

sudo iftop -i enp125s0f0

TX:  cum: 216KB   peak:  189Kb           Rates: 3.30Kb 41.7Kb 13.5Kb

RX:      43.1KB       4.48Kb               1.97Kb  2.55Kb 2.28Kb

TOTAL:    259KB        191Kb                5.27Kb  44.2Kb 15.7Kb

  • TX‌(发送Transmit):总上传数据量,单位为 MB/KB
  • RX‌(接收Receive):总下载数据量。
  • TOTAL‌:TX 和 RX 的总和‌。
  • cum(Cumulative‌:从启动 iftop 到当前的累计流量‌
  • Peak rate‌:峰值速率,显示监控期间的最高上传(TX)和下载(RX)速率,用于评估网络最大负载‌。
  • Rates‌:不同时间段的平均速率,即2s/10s/40s 速率,与中部连接列表的速率列一致,分别对应三个时间窗口的平均值‌。

三、关键数据判断方法

1. 识别高流量连接

  • 瞬时高峰‌:关注 ‌2秒速率‌ 高的连接,可能是大文件传输或异常流量(如攻击)。
  • 持续占用‌:若某连接的 ‌40秒速率‌ 长期高位,需检查是否为正常服务(如视频流、备份任务)。

2. 带宽瓶颈分析

  • 刻度条饱和‌:若顶部刻度条持续满格,且底部 Peak rate 接近物理带宽上限,说明网络拥堵。
  • TX/RX 比例失衡‌:上传(TX)远高于下载(RX)可能为服务器响应请求(如Web服务);反之可能是客户端下载数据。

3. 异常流量检测

  • 未知IP或端口‌:陌生地址的高速率连接可能为恶意软件或未经授权的访问。
  • 单向流量激增‌:如只有发送(=>)无接收(<=),可能为DDoS攻击或数据泄露。

四、常用选项与交互命令

1. 启动选项

常用选项 作用
-i <网卡> 指定监控的网卡(如 eth0
-n 禁用DNS解析,直接显示IP地址
-P 显示端口号
-F <网段> 过滤特定网段(如 192.168.1.0/24

2. 交互命令(运行时按快捷键)

按键 功能
t 切换速率显示模式(2/10/40秒)
s/d 切换源/目标地址显示
T 显示/隐藏累计流量
j/k 上下滚动连接列表
q 退出

五、实战示例

场景‌:服务器带宽突然跑满,需快速定位原因。

  1. 运行命令‌:sudo iftop -i enp125s0f0 -nP
  2. 观察列表‌:
    • 发现 10.0.0.5:443 => 203.0.113.10:54321 的2秒速率高达 10MB
    • 目标端口 54321 非常用端口,疑似异常。
  3. 进一步排查‌:
    • 使用 netstat -tunap | grep 54321 查找进程。(-t|--tcp、-u|--udp)
    • 若为未知进程,可能为恶意软件上传数据,需终止并排查。

六、总结‌‌

  • 核心指标‌:关注 ‌2秒速率‌(突发流量)与 ‌40秒速率‌(长期趋势)。
  • 异常判断‌:陌生IP、非常用端口、单向高流量均为危险信号。
  • 优化建议‌:结合 nethogs(按进程监控)和 tcpdump(抓包分析)深入诊断。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐