ss 是 iproute2 中比 netstat 更快更轻量的网络诊断工具,直接读取内核 socket 信息;常用命令如 ss -tuln 查监听端口、ss -tulnp 显示进程、ss -tn state established 查已建立连接,并支持按端口、ip、状态等精准过滤及深度计时器分析。

ss 是 iproute2 套件中的高性能网络诊断工具,比 netstat 更快、更轻量,且能直接读取内核 socket 信息,避免了 netstat 依赖 /proc/net/ 的低效解析。掌握常用参数组合,可快速完成绝大多数连接状态排查任务。
查看所有 TCP/UDP 连接(含监听与已建立)
等效于 netstat -a,但更简洁高效:
- ss -a:显示所有 socket(TCP、UDP、Unix 等)
- ss -tuln:最常用组合,t=TCP,u=UDP,l=仅监听端口,n=数字格式(不反解主机名和服务名),适合快速定位服务端口
- 若需同时显示进程信息(需 root 权限):ss -tulnp,末尾 p 显示 PID 和程序名,替代 netstat -tulnp
聚焦已建立的 TCP 连接(ESTABLISHED)
排查客户端连接、异常长连接或连接数激增时非常实用:
- ss -tn state established:仅显示 ESTABLISHED 的 TCP 连接,-t 指定 TCP,-n 避免 DNS 查询拖慢响应
- 按连接数排序(看谁连得最多):ss -tn state established | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -10
- 配合 state 还可查其他状态,如 ss -t state time-wait 查 TIME-WAIT 连接
按地址、端口或状态精准过滤
比 netstat 的 grep 更原生、更可靠:
- 查本地监听在 80 端口的连接:ss -tln sport = :80(sport = source port)
- 查连接到远端 443 端口的所有连接:ss -tn dport = :443(dport = destination port)
- 查特定 IP 的所有连接:ss -tn dst 192.168.1.100
- 组合条件(如:非本地回环的 ESTABLISHED 连接):ss -tn state established 'not dst 127.0.0.1'
查看详细连接信息与计时器
用于深度分析连接行为(如重传、超时、拥塞控制):
- ss -tini:-i 显示 TCP 计时器、重传队列、拥塞窗口等内核级细节;-t-n-i 是性能分析黄金组合
- 搭配 state 可聚焦问题连接,例如:ss -tini state established | grep retrans 快速识别高重传连接
- ss -tuln4 或 ss -tuln6 分别限制只看 IPv4 或 IPv6,避免双栈干扰










