{"msg":"操作成功","code":200,"data":{"createBy":"admin","createTime":"2024-12-09 09:31:09","updateBy":"admin","updateTime":"2024-12-09 09:31:09","remark":null,"id":94,"articleTitle":"每天一个Linux命令（十八）ss","articleUrl":"linux_ss","articleThumbnail":"https://www.asumimoe.com/imgfiles/20250301/b95d839fa195428cb42fc7f104f50b0d.png","articleFlag":"0","draftStatus":"1","reprintStatement":"0","articleSummary":"ss是 Linux 系统中用于显示网络套接字状态的命令（Socket Statistics），支持查看 TCP、UDP、UNIX 域套接字等信息。它是 `netstat` 的现代替代工具，具有更高的性能和更丰富的功能。","articleContent":"`ss` 是 Linux 系统中用于**显示网络套接字状态**的命令（Socket Statistics），支持查看 TCP、UDP、UNIX 域套接字等信息。它是 `netstat` 的现代替代工具，具有更高的性能和更丰富的功能。\n\n---\n\n## 语法\n\n```bash\nss [选项] [过滤表达式]\n```\n\n---\n\n## 常用选项\n\n| 选项 | 说明                     |\n| ---- | ------------------------ |\n| `-t` | 显示 TCP 套接字          |\n| `-u` | 显示 UDP 套接字          |\n| `-x` | 显示 UNIX 域套接字       |\n| `-l` | 显示监听中的套接字       |\n| `-n` | 以数字形式显示地址和端口 |\n| `-p` | 显示进程信息             |\n| `-s` | 显示套接字统计信息       |\n| `-a` | 显示所有套接字           |\n| `-o` | 显示计时器信息           |\n| `-m` | 显示套接字内存使用情况   |\n| `-4` | 仅显示 IPv4 套接字       |\n| `-6` | 仅显示 IPv6 套接字       |\n\n---\n\n## 输出字段说明\n\n| 字段                 | 说明                           |\n| -------------------- | ------------------------------ |\n| `Netid`              | 套接字类型（如 TCP、UDP）      |\n| `State`              | 套接字状态（如 ESTAB、LISTEN） |\n| `Recv-Q`             | 接收队列中的字节数             |\n| `Send-Q`             | 发送队列中的字节数             |\n| `Local Address:Port` | 本地地址和端口                 |\n| `Peer Address:Port`  | 远程地址和端口                 |\n| `Process`            | 进程信息（需 `-p` 选项）       |\n\n---\n\n## 使用示例\n\n### 1. 显示所有 TCP 套接字\n\n```bash\nss -t\n```\n\n输出示例：\n\n```bash\nState      Recv-Q Send-Q Local Address:Port       Peer Address:Port\nESTAB      0      0      192.168.1.100:22        192.168.1.200:54321\nLISTEN     0      128    0.0.0.0:22              0.0.0.0:*\n```\n\n---\n\n### 2. 显示所有 UDP 套接字\n\n```bash\nss -u\n```\n\n输出示例：\n\n```bash\nState      Recv-Q Send-Q Local Address:Port       Peer Address:Port\nUNCONN     0      0      0.0.0.0:68              0.0.0.0:*\n```\n\n---\n\n### 3. 显示所有监听中的套接字\n\n```bash\nss -l\n```\n\n输出示例：\n\n```bash\nNetid  State      Recv-Q Send-Q Local Address:Port       Peer Address:Port\ntcp    LISTEN     0      128    0.0.0.0:22              0.0.0.0:*\n```\n\n---\n\n### 4. 显示所有套接字（包括监听和非监听）\n\n```bash\nss -a\n```\n\n输出示例：\n\n```bash\nNetid  State      Recv-Q Send-Q Local Address:Port       Peer Address:Port\ntcp    ESTAB      0      0      192.168.1.100:22        192.168.1.200:54321\ntcp    LISTEN     0      128    0.0.0.0:22              0.0.0.0:*\n```\n\n---\n\n### 5. 显示进程信息\n\n```bash\nss -tp\n```\n\n输出示例：\n\n```bash\nState      Recv-Q Send-Q Local Address:Port       Peer Address:Port       Process\nESTAB      0      0      192.168.1.100:22        192.168.1.200:54321     users:((\"sshd\",pid=1234,fd=3))\n```\n\n---\n\n### 6. 显示套接字统计信息\n\n```bash\nss -s\n```\n\n输出示例：\n\n```bash\nTotal: 1234 (kernel 0)\nTCP:   10 (estab 2, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0\n\nTransport Total     IP        IPv6\n*         0         -         -\nRAW       0         0         0\nUDP       2         2         0\nTCP       10        10        0\nINET      12        12        0\nFRAG      0         0         0\n```\n\n---\n\n### 7. 显示计时器信息\n\n```bash\nss -to\n```\n\n输出示例：\n\n```bash\nState      Recv-Q Send-Q Local Address:Port       Peer Address:Port       Timer\nESTAB      0      0      192.168.1.100:22        192.168.1.200:54321     keepalive (9.19/0/0)\n```\n\n---\n\n## 注意事项\n\n1. **权限要求**：显示进程信息（`-p` 选项）需 root 权限\n2. **输出格式**：默认输出格式可能因系统而异\n3. **过滤表达式**：支持按状态、地址、端口等条件过滤\n\n---\n\n## 进阶用法\n\n### 1. 显示所有 TCP 套接字（数字形式）\n\n```bash\nss -tn\n```\n\n输出示例：\n\n```bash\nState      Recv-Q Send-Q Local Address:Port       Peer Address:Port\nESTAB      0      0      192.168.1.100:22        192.168.1.200:54321\nLISTEN     0      128    0.0.0.0:22              0.0.0.0:*\n```\n\n---\n\n### 2. 显示所有监听中的 TCP 端口（带进程信息）\n\n```bash\nss -lntp\n```\n\n输出示例：\n\n```bash\nState      Recv-Q Send-Q Local Address:Port       Peer Address:Port       Process\nLISTEN     0      128    0.0.0.0:22              0.0.0.0:*               users:((\"sshd\",pid=1234,fd=3))\n```\n\n---\n\n### 3. 显示所有 IPv6 套接字\n\n```bash\nss -6\n```\n\n输出示例：\n\n```bash\nNetid  State      Recv-Q Send-Q Local Address:Port       Peer Address:Port\ntcp    LISTEN     0      128    :::22                    :::*\n```\n\n---\n\n### 4. 显示所有 IPv4 套接字\n\n```bash\nss -4\n```\n\n输出示例：\n\n```bash\nNetid  State      Recv-Q Send-Q Local Address:Port       Peer Address:Port\ntcp    ESTAB      0      0      192.168.1.100:22        192.168.1.200:54321\n```\n\n---\n\n### 5. 显示所有 UNIX 域套接字\n\n```bash\nss -x\n```\n\n输出示例：\n\n```bash\nNetid  State      Recv-Q Send-Q Local Address:Port       Peer Address:Port\nu_str  ESTAB      0      0      /var/run/docker.sock 12345\n```\n\n---\n\n### 6. 显示套接字内存使用情况\n\n```bash\nss -m\n```\n\n输出示例：\n\n```bash\nState      Recv-Q Send-Q Local Address:Port       Peer Address:Port       Memory\nESTAB      0      0      192.168.1.100:22        192.168.1.200:54321     123456\n```\n\n---\n\n### 7. 过滤显示特定状态的套接字\n\n```bash\nss -t state established\n```\n\n输出示例：\n\n```bash\nState      Recv-Q Send-Q Local Address:Port       Peer Address:Port\nESTAB      0      0      192.168.1.100:22        192.168.1.200:54321\n```","categoryId":1,"viewCount":61,"categoryName":"Linux","author":"球接子","authorAvatar":null,"tagIds":[10],"tagNames":["Linux基础"]}}