监控端口需区分实时带宽(如iftop查MB/s)和活跃连接数(如ss统计ESTABLISHED数量);用iftop过滤端口流量,ss统计并发连接并可附进程信息,再用ss或lsof确认端口监听状态。

监控特定端口的瞬时流量和当前连接数,关键在于区分「实时带宽」和「活跃连接状态」两类指标。前者看速率(如 MB/s),后者看数量(如 ESTABLISHED 连接个数)。Linux 下无需安装复杂平台,用几个轻量命令组合即可快速定位问题。
查端口的实时瞬时流量(谁在用、用了多少)
推荐用 iftop,它基于抓包,能精确到端口级的每秒速率:
- 监控 TCP 8080 端口的全部进出流量:
sudo iftop -P -N -f "tcp port 8080"(-P显示端口名,-N强制数字显示,-f过滤) - 只看别人连你 8080(服务端视角):
sudo iftop -f "tcp dst port 8080" - 只看本机往外连 8080(客户端视角):
sudo iftop -f "tcp src port 8080" - 加
-B以字节为单位(更符合直觉),加-n禁 DNS 解析(避免卡顿)
查端口当前的并发连接数(有多少个 ESTABLISHED)
用 ss(比 netstat 更快、更现代)直接统计状态:
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 统计监听在 8080 的所有已建立连接:
sudo ss -t state established '( dport = :8080 or sport = :8080 )' | wc -l - 若只想看“别人连你”的并发数(即目标端口是 8080):
sudo ss -t state established 'dport = :8080' | wc -l - 附带进程信息(确认是谁在持连接):
sudo ss -tunp state established 'dport = :8080'
补充:验证端口是否真在监听、由哪个进程负责
防止误判——先确认端口确实被监听,再查流量和连接:
- 查谁在监听 8080:
sudo ss -tuln | grep ':8080'或sudo lsof -i :8080 - 若输出为空,说明该端口当前无服务监听,后续流量/连接统计结果自然为 0
- 注意区分 IPv4(
0.0.0.0:8080)和 IPv6([::]:8080),过滤时可加-4或-6
小提醒:数值差异不是故障,而是统计逻辑不同
比如 iftop 显示的 1.2 MB/s 和 ss 统计的连接数之间没有换算关系;又比如 iftop 抓包含重传,而 ss 只统计协议栈已确认的连接。两者配合看才完整:流量高 + 连接数多 → 可能是正常业务;流量高 + 连接数少 → 可能是大文件传输或单连接打满;连接数持续上涨不降 → 警惕连接泄漏。










