ss 是 Socket Statistics 的首字母缩写。
ss 命令由 iproute2 软件包提供(
yum install iproute
)。iproute 2 包中的命令可以完全替代 net-tools 包中的 ifconfig、netstat、route 等命令。
无选项
单独使用的 ss 命令用于显示已建立的网络连接。例如:
# ss
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp ESTAB 0 0 10.0.2.10:ssh 10.0.2.2:52316
上述输出结果中的 ESTAB 代表网络连接的状态是“已建立”(Established)。
-h 选项
-h 或 --help
用于显示帮助信息。
当然,也可以使用 man ss
命令查看更详细的帮助文档。
-a 选项
-a 或 --all
用于显示所有的网络连接:监听中和非监听中(对于 tcp,就是监听中和已建立)。例如:
# ss -a
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp ESTAB 0 0 10.0.2.10:ssh 10.0.2.2:52316
tcp LISTEN 0 128 [::]:ssh [::]:*
-l 选项
-l 或 --listening
用于显示处于监听状态的网络连接。例如:
# ss -l
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 *:ssh *:*
上述输出结果中的 LISTEN 代表网络连接的状态是“监听中”(Listening)。
-n 选项
-n 或 --numeric
用于显示端口号,而非使用该端口号的服务。例如:
# ss -n
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp ESTAB 0 0 10.0.2.10:22 10.0.2.2:52316
使用选项 -n 后,显示端口号 22,而非使用 22 端口号的 ssh。
-p 选项
-p 或 --processes
,显示端口对应的进程名和进程号 PID。
其它常用选项
-t 或 --tcp
,仅显示 tcp 端口。-u 或 --udp
,仅显示 udp 端口。-x 或 --unix
,仅显示 Unix domain sockets。