首页/系统/信创系统运维速查/ss 查看端口与连接
命令与包管理65 条

ss 查看端口与连接

netstat 的现代替代:ss -tulnp 看监听端口与所属进程,-s 看连接统计,按状态过滤定位异常连接。

信创系统运维速查系统更新于 2026-10-13

ss 是什么

ss 用来查看套接字的统计信息,是 netstat 的现代替代:列出监听端口、显示已建立的连接、按状态过滤、输出连接总量统计,也能给出占用端口的进程。它的输出列固定、解析友好,脚本里比老工具可靠得多。信创平台的服务器版与桌面版都随系统提供,用法一致。日常最常用的场景是两件:确认某个端口有没有在监听,以及在一堆连接里按状态或端口找出可疑与异常的那部分。

基本信息

所属iproute2 工具集,各发行版普遍预装
查看监听加监听与数字选项,配合协议选项区分 TCP 与 UDP
显示进程加进程选项,需要相应权限
按状态过滤可指定连接状态,如已建立、等待关闭
统计概览可输出按协议分类的连接数量统计
适用平台Kylin V10 / UOS / openEuler 通用

典型使用场景

  • 确认服务是否在监听:核对监听地址与端口是否与预期一致
  • 排查端口占用:找出到底是哪个进程占用了目标端口
  • 定位异常连接:按状态过滤大量半开或等待回收的连接
  • 连接数概览:快速判断当前连接总量与分布是否异常
  • 交付巡检:导出监听端口清单,核对暴露面
  • 验证收敛效果:调整服务监听地址后复核结果

典型用法

典型用法
ss -tulnp | head -20                      # 查看监听端口与进程
ss -tulnp | grep ':8080'                  # 只看关心端口
ss -tnp state established | head          # 只看已建立的 TCP 连接
ss -tn state time-wait | wc -l            # 统计等待回收的连接数
ss -s                                     # 连接总量按协议分类概览
ss -tn state established '( dport = :443 or sport = :443 )' | head   # 按端口过滤

输出列与状态读法

项目含义关注点
State连接状态监听态与已建立态含义完全不同
Local Address:Port本机地址与端口通配地址对外可达,回环地址仅本机
Peer Address:Port对端地址与端口用于确认连接来源
Process占用套接字的进程无权限时该列为空属正常
Recv-Q / Send-Q收发队列长度持续非零通常意味着处理不及时
等待回收状态连接已结束、等待内核回收数量大且持续增长需结合连接速率判断
查看进程名需要相应权限:普通用户执行时进程列可能为空,这属于权限限制而不是异常。核对占用端口的进程时,用具备权限的账号复核,不要据此断定端口未被占用。
容器与端口映射场景要分层看:宿主机的连接视图只反映宿主机的套接字,容器内部的监听关系要在容器或编排平台侧核对。两边对不上时,先确认映射规则再考虑应用问题。

易错点

  • 把大量等待回收的连接直接当成异常,未结合连接速率与回收节奏判断,容易误优化
  • 用普通账号执行并看到进程列为空,误认为端口无人占用,排查方向被带偏
  • 只看监听状态不看监听地址,服务实际仅绑定回环地址,外部访问失败却被判定为正常
  • 容器环境下只看宿主机视图,忽略映射规则,得出服务未监听的错误结论

数据来源与参考

  • iproute2 ss 手册
  • Linux 网络管理
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌