iftop默认监控第一个非loopback网卡(如eth0或ens3),但该行为不可靠,需用ip -br a确认活跃接口后显式指定-i参数;其默认单位为bit/s,数值比byte/s大8倍,可用-b切换字节单位,右侧数字为准。

直接看实时带宽占用,iftop 是最接近“一眼定位问题连接”的工具,但它不显示网卡理论带宽(比如 1Gbps),只显示当前实际流量;要查理论带宽得用 ethtool 或 ip link。
怎么确认 iftop 正在监控哪个网卡
不加 -i 参数时,iftop 默认选第一个非 loopback 网卡(通常是 eth0 或 ens3),但这个行为不可靠——尤其在多网卡、云服务器(如 eth0 是内网、eth1 是公网)场景下极易看错流量源。
- 先用
ip -br a或ifconfig确认活跃网卡名,重点关注有 IPv4 地址且 UP 状态的接口 - 强制指定网卡:运行
iftop -i ens3(把ens3换成你的真实网卡名) - 如果看到全是本地地址(
127.0.0.1或::1)或空列表,大概率是网卡选错了,或者该网卡当前没流量
为什么 iftop 显示的数值和你预期差 8 倍
iftop 默认单位是 bit/s(比特每秒),而人脑习惯看 Byte/s(字节每秒)。1 Byte = 8 bits,所以 10MB/s 实际显示为 ~80Mbps——这是新手最常懵的点。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 加
-B参数切换为字节单位:iftop -B -i ens3 - 注意:即使加了
-B,顶部刻度条仍可能标 “1Mbit”,这是界面残留 bug,忽略它,看右侧数字列即可 - 如果还怀疑单位,可用
nload -u M对比验证:它默认就是 MByte/s,数值应与iftop -B右侧三列的峰值接近
如何快速过滤出可疑连接(比如某 IP 或端口)
iftop 的交互模式比命令行参数更灵活,适合排查突发流量。启动后按快捷键即可,无需退出重跑。
- 按
P(大写)关闭端口解析,让右侧显示数字端口而非http、mysql等名称,避免误判 - 按
l(小写 L)进入过滤模式,输入类似host 192.168.1.100或port 3306,回车后只留匹配连接 - 按
o切换排序,例如o→2s可按最近 2 秒流量从高到低排列,一眼揪出瞬时打满带宽的连接 - 注意:过滤语法基于 libpcap,不支持正则,只认
host、port、net、src、dst等基础关键字
真正容易被忽略的是权限和 DNS 解析开销:iftop 必须用 root 或 sudo 运行,否则抓不到包;而默认开启的 DNS 反向解析(把 IP 查成域名)会拖慢响应、甚至因 DNS 超时导致界面卡顿——生产环境务必加 -n 启动。










