iftop默认不显示端口和进程,需加-p参数显示端口、-p参数(root权限)显示进程;运行时按p键可切换端口显示,按q退出。

用 iftop 看实时流量,但默认不显示端口和进程
iftop 是最常用的实时网卡流量工具,它按连接排序、支持 DNS 解析、能直观看出谁在传数据。但开箱即用时只显示 IP 和总流量,不显示端口号和所属进程——这会让排查变得困难。
- 加
-P参数才能显示端口(如iftop -P) - 加
-p参数可显示进程名(需 root 权限,如sudo iftop -P -p) - 按
P键可切换端口显示,按q退出;但这些是运行时快捷键,不是启动参数 - 注意:部分发行版默认没装
iftop,CentOS/RHEL 用yum install iftop,Ubuntu/Debian 用apt install iftop
iptraf-ng 更轻量,适合无图形终端的服务器
如果服务器没装 iftop 或你嫌它依赖太多,iptraf-ng 是个更底层、更省资源的选择。它不依赖 ncurses 图形库,纯文本界面响应快,且默认就显示协议、端口、连接状态。
宝塔Linux面板11.8.1为官网当前正式版,新增AI建站能力并经过宝塔网站工程师深度调教,开放自定义AI功能API,同时对WAF进行界面重构和深度优化,提升拦截能力与运维效率。
- 启动后选“IP traffic monitor”即可看到各接口的实时连接详情
- 它不显示进程名,但支持按协议(TCP/UDP)、方向(in/out)、端口范围过滤
- 安装命令:
sudo apt install iptraf-ng(Debian/Ubuntu),sudo yum install iptraf-ng(RHEL/CentOS 8+) - 注意:
iptraf(旧版)已废弃,务必装iptraf-ng,否则可能报command not found
用 cat /proc/net/dev 看累计流量,不适合“实时”但最稳定
如果你只需要每秒粗略估算,又不想装额外工具或担心权限问题,直接读内核提供的 /proc/net/dev 是最稳妥的方式。它不依赖用户态程序,不会挂掉,但输出的是自启动以来的字节数,得自己做差值计算。
- 执行
watch -n 1 'cat /proc/net/dev | grep eth0'可每秒刷新一次(把eth0换成你的网卡名,如ens33或enp0s3) - 第 2 列是接收字节数,第 10 列是发送字节数;两次读数相减再除以时间,就是平均速率
- 这个方法看不到连接、端口、进程,但胜在零依赖、零权限、零干扰——调试容器或受限环境时特别有用
别用 netstat -i 查实时流量,它只显示包计数
netstat -i 显示的是接口收发的**数据包数量**,不是字节数,也无法反映当前瞬时速率。它常被误当作流量监控工具,实际用途有限。
- 输出里
Rx-OK/Tx-OK是包数,Rx-DRP/Tx-DRP是丢包数,跟带宽无关 - 小包多、大包少时,包数高不代表流量大;反过来也成立。不能用来判断是否跑满带宽
- 现代系统推荐用
ip -s link show dev eth0替代netstat -i,输出更清晰,且含字节统计
iftop -P -p 是第一选择,但得记住:它需要 root,且在高并发连接下 CPU 占用略高;/proc/net/dev 那种手动算差值的方式,看着土,关键时刻最靠得住。










