当前位置:首页 > Ubuntu > 正文

掌握Ubuntu ss命令(详解Socket统计查看与网络连接分析)

在Linux系统中,尤其是Ubuntu环境下,监控和分析网络连接是系统管理员和开发人员的日常任务之一。传统的netstat命令虽然功能强大,但已被更高效、更快捷的ss命令所取代。ss(Socket Statistics)是iproute2工具包的一部分,专为快速获取Socket统计查看信息而设计。

掌握Ubuntu ss命令(详解Socket统计查看与网络连接分析) Ubuntu ss命令 Socket统计查看 Linux网络工具 ss命令教程 第1张

什么是 ss 命令?

ss 是 “socket statistics” 的缩写,用于显示 TCP、UDP、UNIX 域等各类套接字的详细信息。相比 netstat,它直接从内核获取数据,速度更快,资源占用更低,是现代 Linux 系统中推荐使用的Linux网络工具

安装 ss 命令(通常已预装)

在大多数 Ubuntu 系统中,ss 命令默认已随 iproute2 包安装。如未安装,可运行以下命令:

sudo apt updatesudo apt install iproute2  

常用 ss 命令示例

1. 查看所有监听的端口

ss -l  

该命令列出所有处于监听状态的套接字。

2. 显示 TCP 连接

ss -t  

仅显示 TCP 协议的连接(不包括监听状态)。

3. 显示 UDP 连接

ss -u  

4. 显示所有连接(包括监听和非监听)

ss -a  

5. 显示进程信息(需 root 权限)

sudo ss -p  

此命令会显示每个连接对应的进程 PID 和程序名,对排查问题非常有用。

6. 按端口过滤(例如查看 80 端口)

ss -tuln | grep :80  

其中选项含义:
-t:TCP
-u:UDP
-l:监听状态
-n:不解析服务名称(显示数字端口)

实用技巧:实时监控连接变化

你可以结合 watch 命令实时刷新连接状态:

watch -n 2 'ss -tuln'  

这将每 2 秒刷新一次当前的监听连接列表。

为什么选择 ss 而不是 netstat?

  • 速度更快:直接读取内核 socket 信息,无需遍历 /proc 文件系统。
  • 输出更简洁:默认格式清晰,易于脚本处理。
  • 功能更现代:支持更多过滤选项和协议类型。

总结

通过本文,你已经掌握了如何在 Ubuntu 系统中使用 ss 命令进行高效的Socket统计查看。无论是排查网络问题、监控服务端口,还是学习底层网络原理,ss 都是一个不可或缺的Linux网络工具。建议将常用命令加入你的运维工具箱,并尝试用它替代老旧的 netstat

如果你刚开始接触命令行网络诊断,这篇ss命令教程希望能为你打下坚实基础。多加练习,你会越来越熟练!

关键词提示:Ubuntu ss命令、Socket统计查看、Linux网络工具、ss命令教程