ss 端口排查速记:谁在占用端口、连接从哪来

举报
yd_241044277 发表于 2026/11/10 17:04:47 2026/11/10
【摘要】 服务起不来、端口被占用、连接来源不明时,排查端口最常用的工具就是 ss。它是 iproute2 自带的命令,比 netstat 更快,输出也更干净。下面把日常最常用的组合记下来。 一、看谁在监听:找到占用端口的进程先看本机监听了哪些端口:ss -tlnp-t:只看 TCP;-l:只看监听状态;-n:不解析端口和域名,快且准;-p:显示进程名和 PID。看到可疑端口后直接锁定它:ss -tln...

服务起不来、端口被占用、连接来源不明时,排查端口最常用的工具就是 ss。它是 iproute2 自带的命令,比 netstat 更快,输出也更干净。下面把日常最常用的组合记下来。

一、看谁在监听:找到占用端口的进程

先看本机监听了哪些端口:

ss -tlnp
  • -t:只看 TCP;-l:只看监听状态;-n:不解析端口和域名,快且准;-p:显示进程名和 PID。

看到可疑端口后直接锁定它:

ss -tlnp | grep 8080

输出里的 users:(("java",pid=1234,fd=88)) 就是占用者。确认是自己的服务,就改配置或换端口;不认识的进程先查清来源再处理,别直接杀掉。

二、看连接从哪来:谁在连我的服务

服务明明跑着,却不知道谁在访问,用这组命令:

# 看 8080 端口当前的所有已建立连接
ss -tn state established '( dport = :8080 or sport = :8080 )'

# 按来源 IP 统计连接数,揪出异常 IP
ss -tn state established | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

TIME_WAIT 太多也会拖慢服务,顺手数一下:

ss -tn state time-wait | wc -l

三、UDP 也别漏:DNS、NTP 这类服务

TCP 查完了,UDP 容易漏。DNS、NTP 都是 UDP 协议:

ss -ulnp
ss -ulnp | grep 53

四、交叉验证:查不到进程名时

查不到进程名,可以加 -e 看详细信息,或者用 lsof 交叉验证:

# 看 443 端口的完整进程信息
ss -tlnpe | grep 443

# lsof 交叉验证
lsof -i :8080

如果 ss 不可用,老系统可以用 netstat -tlnp 应急,但新版本系统推荐用 ss。

五、速查表

需求 命令
看监听端口和进程 ss -tlnp
看 UDP 监听 ss -ulnp
看某个端口的连接 ss -tn state established '( dport = :8080 )'
按 IP 统计连接数 ss -tn state established | awk … | sort | uniq -c
统计 TIME_WAIT ss -tn state time-wait | wc -l

记住一个思路:先定位“谁在监听”,再看“连接从哪来”,最后确认“该不该存在”。三步走完,端口问题基本都能定位。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。