首页/网络/抓包与流量分析速查/TCP 抓不到 SYN-ACK 的原因
TCP 流分析82 条

TCP 抓不到 SYN-ACK 的原因

有 SYN 无 SYN-ACK 时逐项排查:目标端口无监听(应回 RST)、中间设备静默丢弃、服务端收到但队列满、或抓包点不覆盖回程路径。

用途系统性推理"无响应"建连
手段两端抓包对照 + 服务端 ss -lnt 监听状态

检查清单

检查清单
1) 服务端 ss -lnt 看端口监听?
2) 服务端抓包看到 SYN 了吗?
3) 未见 SYN → 路径丢弃(防火墙/策略/路由)
4) 见 SYN 但未回 → 应用 backlog 或内核参数
5) 见了 SYN 回了 SYN-ACK → 客户端未收到,查回程链路
ICMP 不可达(如 type 3 code 10)有时会伴随出现,能进一步锁定被拒原因。

易错点

  • 服务端抓包点的位置决定结论:容器环境要抓容器网卡而不是宿主机 eth0
  • 单向抓包点的"没看到"不等于"没发生",这是最常见的误判来源

数据来源与参考

  • RFC 9293(TCP)
  • RFC 792(ICMP 不可达)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌