ss 是 netstat 的现代替代品,用于查看网络连接、路由和接口统计信息。
ss 命令查看套接字统计信息,包括 TCP/UDP 连接、监听端口、UNIX 套接字等。它比 netstat 更快、功能更强。netstat 则更通用(部分系统默认安装)。
示例 1:查看所有监听端口
ss -tlnp
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1234,fd=6))
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=567,fd=3))
LISTEN 0 128 127.0.0.1:5432 0.0.0.0:* users:(("postgres",pid=890,fd=7))
LISTEN 0 128 [::]:443 [::]:* users:(("nginx",pid=1234,fd=7))
示例 2:查看所有 TCP 连接
ss -t
示例 3:查看已建立连接
ss -t state established
示例 4:查看端口占用
ss -tlnp | grep :8080
示例 5:查看连接统计
ss -s
Total: 325
TCP: 120 (estab 45, closed 60, orphaned 5, timewait 10)
Transport Total IP IPv6
RAW 1 0 1
UDP 15 10 5
TCP 60 45 15
INET 76 55 21
FRAG 0 0 0
示例 6:netstat 等价命令
netstat -tlnp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 567/sshd
| 参数 | 说明 |
|---|---|
-t |
显示 TCP 连接 |
-u |
显示 UDP 连接 |
-x |
显示 UNIX 套接字 |
-l |
只显示监听状态的套接字 |
-a |
显示所有套接字 |
-n |
以数字形式显示地址和端口 |
-p |
显示使用套接字的进程 |
-s |
显示统计信息 |
-r |
显示路由信息 |
-i |
显示接口信息 |
-4 |
只显示 IPv4 |
-6 |
只显示 IPv6 |
-e |
显示详细信息 |
-o |
显示定时器信息 |
-m |
显示内存使用 |
state STATE |
筛选连接状态(established, listen, time-wait 等) |
| 参数 | 说明 |
|---|---|
-t |
TCP 连接 |
-u |
UDP 连接 |
-l |
监听状态 |
-a |
所有连接 |
-n |
数字形式 |
-p |
显示进程 |
-r |
路由表 |
-i |
接口统计 |
-s |
协议统计 |
-c |
持续刷新 |