ss 是替代 netstat 的更高效工具,因其性能更高、输出更清晰且功能更强,主流系统已推荐使用。1. 查看所有活动连接:ss -tuln;2. 查看所有 tcp 连接:ss -tn;3. 查看监听端口:ss -ln;4. 查看指定端口连接:ss -tn '( dport = :80 or sport = :80 )';5. 查看已建立连接:ss -tn state established;6. 查看进程信息:ss -tunlp(需 root 权限);7. 查看统计信息:ss -s。高级用法包括组合过滤、watch 实时监控及指定 ip 协议版本,需注意通过 -x、-w 查看 unix 和 raw 套接字,未安装时可通过 iproute2 包部署,ss 可完全取代 netstat 并提升诊断效率。

在现代 Linux 系统中,
netstat命令虽然广为人知,但由于其性能较差且已停止维护,逐渐被更高效、更快速的
ss(Socket Statistics)命令所取代。如果你需要监控网络连接状态,
ss是更推荐的工具。以下是
ss如何替代
netstat的详细说明和常用用法。
一、为什么用 ss 替代 netstat?
-
性能更高:
ss
直接从内核的TCP/UDP
套接字信息中读取数据(通过netlink
接口),而netstat
是通过解析/proc/net/
下的文件,效率较低。 -
输出更清晰:
ss
的输出更简洁,信息更全面。 - 功能更强大:支持更灵活的过滤和状态筛选。
-
系统默认推荐:主流发行版(如 CentOS 8+、Ubuntu 20.04+)已默认不再安装
netstat
,建议使用ss
。
二、常见 netstat 命令与 ss 的等效替换
1. 查看所有活动连接(TCP/UDP)
# netstat 方式 netstat -tuln # ss 等效命令 ss -tuln
-t
:显示 TCP 连接-u
:显示 UDP 连接-l
:仅显示监听状态(LISTEN)-n
:以数字形式显示端口和 IP(不解析服务名/主机名)
2. 查看所有 TCP 连接(包括 ESTABLISHED)
# netstat netstat -tn # ss ss -tn
3. 查看所有监听端口
# netstat netstat -ln # ss ss -ln
4. 查看某个端口的连接(如 80 端口)
# netstat netstat -an | grep :80 # ss(推荐方式) ss -tn sport = :80 ss -tn dport = :80 # 目标端口为 80 ss -tn '( dport = :80 or sport = :80 )'
使用 sport(源端口)、dport(目标端口)配合 =、!=、 等操作符,支持复杂过滤。
5. 查看 ESTABLISHED(已建立)的连接
# netstat netstat -tn | grep ESTABLISHED # ss ss -tn state established
其他可用状态包括:
syn-sent
syn-recv
fin-wait-1
fin-wait-2
time-wait
closed
close-wait
last-ack
listening
closing
6. 查看进程信息(需权限)
# netstat netstat -tunlp # ss ss -tunlp
-p
:显示关联的进程(PID/程序名)- 注意:需要 root 权限才能看到所有进程信息。
7. 查看 TCP 连接统计信息
# netstat netstat -s # ss ss -s
输出各协议的连接统计,如 SYN 溢出、重传等,适合快速诊断网络异常。
三、实用技巧与高级用法
1. 组合过滤(逻辑表达式)
# 查看目标端口是 22 且状态为 ESTABLISHED 的连接 ss -tn 'dport = :22 and state established' # 查看非本地回环的连接 ss -t src != 127.0.0.1
2. 监控连接变化(配合 watch)
watch -n 1 'ss -tn state established'
每秒刷新一次已建立的 TCP 连接,适合排查连接数波动。
3. 查看 IPv4 或 IPv6 连接
ss -4 -tn # 仅 IPv4 ss -6 -tn # 仅 IPv6
四、注意事项
ss
默认不显示所有协议(如 RAW、UNIX 套接字),需加-x
查看 Unix 套接字,-w
查看 RAW 套接字。- 某些旧系统可能未安装
iproute2
包(ss
所属包),可通过以下命令安装:
# Ubuntu/Debian sudo apt install iproute2 # CentOS/RHEL sudo yum install iproute
基本上就这些。
ss不仅更快,语法也更清晰,配合过滤功能可以精准定位网络问题。日常使用中,完全可以替代
netstat,建议尽早熟悉。










