当前位置:首页>Linux>Linux基础 | ss命令详解

Linux基础 | ss命令详解

  • 2026-09-10 12:11:03
Linux基础 | ss命令详解

在前面的Linux 网络排障中,我们经常会用 netstat。但在越来越新的Linux 系统里,你会发现一个趋势:netstat逐渐被ss取代了。那问题来了:ss 到底强在哪?我们又该怎么用?

今天这篇文章,就从实战角度,系统讲清ss命令的使用方式与价值。

一、ss 是什么?

ss 全称Socket Statistics,用于查看 Linux 系统中的:

网络连接

套接字状态

端口监听情况

TCP 连接细节

与 netstat 相比,ss有以下优点:

直接读取内核信息

速度更快

信息更详细

一句话总结:ss 是 netstat 的“高性能升级版”。

二、ss 的安装与可用性

在大多数现代 Linux 发行版中,ss 默认已安装。
验证方式:
ss -h
如果能看到帮助信息,说明可以直接使用。

三、最常用的 ss 命令(必会)

1️⃣ 查看监听端口(最核心)

ss -tuln
参数解释:
-t:TCP
-u:UDP
-l:监听状态
-n:数字形式显示端口
示例输出:
这一步可以直接回答:端口到底有没有在监听?

2️⃣ 查看端口对应的进程

ss -tulnp
示例:
LISTEN 0 128 0.0.0.0:80 users:(("nginx",pid=1234,fd=6))
作用非常明确:快速定位“是谁占了这个端口”。

四、查看当前网络连接状态

1️⃣ 查看已建立的 TCP 连接

ss -tn state established
示例输出:
常用于:
  • 查看活跃连接
  • 排查异常访问
  • 判断是否有连接堆积

2️⃣ 统计连接数量

ss -ant | wc -l
在高并发或被攻击时,这条命令非常有用。

五、一个典型排障场景

场景:服务启动正常,但用户访问失败
排查步骤:

1️⃣ 确认服务状态

systemctl status nginx

2️⃣ 查看端口是否监听

ss -tuln | grep 80
有输出:说明端口正常监听
无输出:说明程序没有成功绑定端口
这一步,能迅速将问题缩小到:程序问题?防火墙问题?还是网络问题?

六、ss 查看 TCP 细节(进阶了解)

ss -ti
可以看到:
  • 拥塞窗口
  • RTT
  • 重传信息
这在排查网络延迟、丢包问题时非常有价值。

七、ss 与 netstat 的对比

对比项
netstat
ss
性能
较慢
更快
信息
基础
更详细
未来趋势
逐步淘汰
推荐使用
现实中的结论是:新系统优先用 ss,老环境 netstat 也能应付。

八、新手常见误区

❌ 把 ss 当成只能看端口
❌ 不加参数直接 ss 看不懂
❌ 忽略进程信息
正确使用方式是:ss + grep + 场景化思考

九、写在最后

关于 ss 命令,你至少要掌握:
  • ss -tuln 看端口监听
  • ss -tulnp 找进程
  • 用它快速判断网络问题边界
在 Linux 网络工具体系中,ss 是效率更高、信息更全的网络排障利器。
如果你已经熟悉 netstat,那么 ss 将是你迈向更专业 Linux 运维的重要一步。
如果这篇文章对你有帮助,欢迎点赞、收藏、转发,我们下篇继续聊 Linux 基础。

最新文章

随机文章