Linux ss 命令

Linux 命令大全 Linux 命令大全

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 套接字的数量及其状态。

Linux 命令大全 Linux 命令大全