Linux怎么使用iftop_Linux如何实时监控网络流量带宽【技巧】

轻明小哥_3350

轻明小哥_3350

2026-03-30

421人浏览

原创

iftop无输出或报“no interface found”主因是权限不足,需sudo或setcap cap_net_raw+ep;不显示进程名,须配合ss/lsof查端口;过滤用-i/-f参数且语法严格;速率与ifconfig不同因数据源和统计方式差异。

linux怎么使用iftop_linux如何实时监控网络流量带宽【技巧】

iftop 命令没输出或显示“no interface found”

常见原因是当前用户没权限读取原始网络包,iftop 默认需要 cap_net_raw 能力或 root 权限。非 root 用户运行时,它可能直接失败或只显示本地环回流量。

  • 用 sudo iftop 启动是最直接的解法
  • 如果不想总输密码,可给二进制文件加能力:sudo setcap cap_net_raw+ep /usr/bin/iftop(注意路径用 which iftop 确认)
  • 某些容器或最小化系统里 iftop 依赖的 libpcap 可能未安装,报错类似 error while loading shared libraries: libpcap.so.1,需补装 libpcap1 或对应包

怎么看清具体是哪个进程在占带宽

iftop 本身不显示进程名,这是它和 netstat/ss 的关键区别——它基于抓包,不查进程表。想关联到进程,得配合其他工具。

  • 运行 iftop -P 显示端口,再用 sudo ss -tulnp | grep :<code>端口号 查进程
  • 更省事的做法:开两个终端,一个跑 iftop -P 记下高流量的 IP:端口,另一个立刻执行 sudo lsof -i :<code>端口号
  • 注意:DNS 解析会拖慢显示,加 -n 参数禁用反向解析(iftop -n),否则你看到的可能是 “loading…” 卡住

如何限制 iftop 只监控某个网卡或端口

iftop 支持过滤,但语法容易写错。参数顺序和大小写敏感,错一个就退回到默认行为。

  • 指定网卡:iftop -i <code>eth0(不是 --interface eth0,也不接受缩写如 enp0s3 不写全可能失败)
  • 只看某端口:iftop -P -f "port <code>80",其中 -f 后必须跟 pcap 过滤语法,port 小写,数字不能加引号
  • 过滤某 IP:iftop -f "host <code>192.168.1.100";双向过滤用 and,比如 host <code>192.168.1.100 and port 22
  • 误用 -f 会导致无输出或报错 pcap_compile: syntax error,建议先用 tcpdump -i <code>eth0 -c 1 -f "port 80" 测试过滤表达式是否合法

为什么 iftop 显示的速率和 ifconfig 统计值对不上

根本原因是数据来源不同:iftop 是实时抓包算瞬时速率(秒级滑动窗口),ifconfig 或 /proc/net/dev 是内核累计字节数,除以时间才是平均速率。短时间波动大时,二者数值差异明显。

  • iftop 默认每 2 秒刷新一次,顶部显示的是最近 2/10/40 秒的平均值(按 t 键切换),不是峰值
  • 它统计的是三层 IP 包,不含以太网帧头、CRC 等链路层开销,而网卡驱动上报的字节数含这些,所以 iftop 数值通常比 /proc/net/dev 算出的略小
  • UDP 丢包、TCP 重传、TTL 截断等都会让 iftop 捕获的包数少于实际发出量,别拿它当精确计量工具

真要长期盯流量趋势,iftop 不适合自动化采集——它设计就是给人眼扫的。脚本化请换 vnstat 或直接读 /sys/class/net/<code>eth0/statistics/tx_bytes。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.25

334

5

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

949

5

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.25

2680

5

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

2024.01.03

3596

7

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

2025.12.06

286

9

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

2025.09.10

3550

10

tcp和udp的区别
tcp和udp的区别

TCP和UDP的区别,在连接性、可靠性、速度和效率、数据报大小以及适用场景等方面。本专题为大家提供tcp和udp的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.25

463

5

udp是什么协议
udp是什么协议

UDP是OSI参考模型中一种无连接的传输层协议。本专题为大家带来udp是什么协议的相关文章,免费提供给大家。

2023.08.08

2631

5

tcp和udp有什么区别
tcp和udp有什么区别

tcp和udp的区别有:1、udp是无连接的,tcp是面向连接的;2、udp是不可靠传输,tcp是可靠传输;3、udp是面向报文传输,tcp是面向字节流传输。想了解更多tcp相关的内容,可阅读本专题下面的相关文章。

2024.11.14

3089

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习