当前位置:首页 > 服务器技术 > 正文

Linux网络ss命令使用(小白也能轻松掌握的网络连接查看利器)

在日常使用 Linux 系统进行网络管理或故障排查时,我们常常需要了解当前系统的网络连接状态。传统上大家可能习惯使用 netstat 命令,但随着系统版本更新,ss(Socket Statistics)命令因其更快的速度和更丰富的功能,逐渐成为主流选择。

Linux网络ss命令使用(小白也能轻松掌握的网络连接查看利器) ss命令  Linux网络工具 网络连接状态 网络诊断 第1张

什么是 ss 命令?

ss 是 Linux 系统中用于显示 socket 统计信息的工具,它能快速展示 TCP、UDP、UNIX 套接字等网络连接的状态。相比 netstatss 直接从内核获取信息,效率更高,尤其在高并发连接场景下优势明显。

基本语法

最简单的用法是直接输入:

ss

这会列出所有非监听状态的套接字连接。

常用选项详解

以下是几个最常用的选项组合:

  • -t:显示 TCP 连接
  • -u:显示 UDP 连接
  • -l:仅显示监听状态的套接字
  • -p:显示使用套接字的进程信息(需 root 权限)
  • -n:以数字形式显示地址和端口(不解析主机名和服务名)

示例 1:查看所有监听的 TCP 端口

ss -tln

输出类似:

State      Recv-Q Send-Q Local Address:Port               Peer Address:PortLISTEN     0      128    0.0.0.0:22                      0.0.0.0:*LISTEN     0      100    127.0.0.1:25                     0.0.0.0:*

示例 2:查看所有 TCP 连接(包括已建立的)

ss -tn

示例 3:查看占用 80 端口的连接及对应进程

sudo ss -tnlp | grep :80

注意:使用 -p 选项通常需要管理员权限(sudo),否则可能看不到进程名。

为什么选择 ss 而不是 netstat?

- 速度更快:ss 直接读取内核 socket 信息,而 netstat 需要遍历 /proc 文件系统。
- 功能更强:支持更复杂的过滤条件,如按状态、端口范围筛选。
- 现代推荐:许多新发行版已默认不安装 netstat,而 ss 属于 iproute2 工具包,是标准组件。

高级技巧:按连接状态过滤

你可以使用 state 关键字来筛选特定状态的连接,例如:

ss state established

这将只显示已建立的连接(ESTABLISHED 状态)。

总结

通过本教程,你应该已经掌握了 ss命令 的基本用法。无论是日常运维还是故障排查,Linux网络工具 中的 ss 都是一个高效可靠的帮手。学会使用它,你就能快速了解系统的 网络连接状态,从而进行有效的 网络诊断

建议多在测试环境中练习这些命令,熟悉输出格式后,你会发现 ss 比想象中更强大!