首页/网络/网络排障速查/ss 为什么必须加 -n
本包目录(235 条)

ss 为什么必须加 -n

排查现场务必加 -n:否则 ss 会对每个地址与端口做 DNS、/etc/services 解析,DNS 故障时命令自己会卡住,输出还可能显示误导性的名称。

网络排障速查网络更新于 2026-10-12

对比与建议

对比与建议
time ss -tan | head -5     # 不加 -n,可能卡在解析
time ss -tan -n | head -5  # 加 -n,立即返回
alias ss='ss -n'           # 交互环境习惯做法
# 排障脚本里一律显式写 -n
场景DNS 故障、断网、连接表超大
原理-n 关闭名称解析,只显示数字
同类netstat -n、route -n、arp -n、iptables -n
断网现场执行不带 -n 的 ss/netstat,几秒卡顿就足以打乱排查节奏;脚本里的无 -n 调用更可能直接超时失败。

易错点

  • 在 DNS 不可用时用无 -n 命令,误判为系统卡死
  • 依赖 /etc/services 名称(如 sport = :http)时,精简容器镜像没有该文件导致过滤失败

数据来源与参考

  • man 8 ss(iproute2)
  • man 8 netstat(net-tools)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌