Linux ss 命令
ss 是 Linux 中用于查看套接字统计信息的命令,功能类似于 netstat,但速度更快,提供更详细的网络连接状态信息。
ss 是 Socket Statistics(套接字统计)的缩写,用于显示和分析系统的网络连接状态。
ss 可以显示关于 TCP、UDP、UNIX 套接字的详细信息,并支持丰富的过滤功能,用于调试网络、监控网络连接等。
语法格式
ss [options]
- options:可选参数,用于指定过滤条件或显示方式。
options 参数说明:
-a, --all
:显示所有的套接字,包括监听和非监听的。-t, --tcp
:仅显示 TCP 套接字。-u, --udp
:仅显示 UDP 套接字。-l, --listening
:仅显示监听状态的套接字。-p, --processes
:显示与套接字关联的进程信息。-n, --numeric
:以数字形式显示地址,而不是解析成主机名。-r, --resolve
:将主机名解析为 IP 地址。-s, --summary
:显示套接字的摘要信息。-4
:仅显示 IPv4 套接字。-6
:仅显示 IPv6 套接字。-i, --info
:显示详细的内部信息。-o, --options
:显示 TCP 计时器信息。-K, --kill
:通过 ID 杀死指定的 socket。-f, --family=FAMILY
:指定协议族(如inet
,inet6
,unix
,link
)。-m, --memory
:显示每个套接字使用的内存。-H, --no-header
:不显示标题行。-v, --verbose
:显示详细的输出。
常见用法
1. 查看所有的套接字连接
ss -a
显示系统中所有套接字的详细信息,包括监听和非监听的连接。
2. 查看 TCP 连接
ss -t
仅显示当前系统的 TCP 连接。
3. 查看 UDP 连接
ss -u
仅显示当前系统的 UDP 连接。
4. 查看正在监听的套接字
ss -l
仅显示正在监听的套接字,不包括已建立的连接。
5. 显示与套接字关联的进程信息
ss -p
显示所有与网络连接相关的进程信息。
6. 显示网络连接的摘要信息
ss -s
显示网络连接的摘要信息,包括总的套接字数、TCP/UDP 连接数等。
7. 显示 IPv4 套接字
ss -4
仅显示 IPv4 套接字。
8. 显示 IPv6 套接字
ss -6
仅显示 IPv6 套接字。
9. 查看详细的 TCP 套接字状态和计时器信息
ss -o
显示 TCP 套接字的计时器信息,适合用于分析连接超时、TCP 重传等问题。
实例
1. 查看所有 TCP 连接并显示进程
ss -t -a -p
显示所有 TCP 连接,并关联显示连接的进程信息。
2. 查看正在监听的 TCP 端口
ss -t -l
此命令仅显示 TCP 协议下正在监听的端口,适合用于排查服务器端口监听问题。
3. 查看所有 UDP 连接
ss -u -a
显示系统中所有的 UDP 连接信息。
4. 查看指定端口的连接
ss -t '( dport = :80 or sport = :80 )'
此命令显示与 80 端口相关的 TCP 连接,适合用于检查 Web 服务的网络连接。
5. 查看每个套接字的内存使用情况
ss -m
显示每个网络连接使用的内存,适用于分析网络连接的内存占用情况。
6. 查看 IPv6 网络连接
ss -6 -t -a
显示所有 IPv6 的 TCP 网络连接。
7. 简单的套接字统计摘要
ss -s
此命令显示系统的网络连接概览,包括 TCP、UDP 套接字的数量及其状态。