TCP 流分析82 条

TCP 半开连接判读

一方认为连接存在、另一方已丢失状态:抓包表现为发出数据长时间无 ACK(被对端 RST 或静默丢弃),长连接环境常见于 NAT 超时或进程重启。

用途识别"僵尸"连接与状态不同步
表现单边持续发数据/重传,无对端响应;或数据后突然 RST

排查要点

排查要点
1) 发送侧看重传与超时
2) 接收侧抓包看是否有该五元组流量
3) 对照 NAT/防火墙会话老化时间
4) 应用心跳间隔应小于中间设备超时
TCP Keep-Alive 或应用层心跳用于探测半开;发现后应重建连接。

易错点

  • 半开连接上的重传会持续很久,抓包时长不足会误判为"一直正常"
  • 两端状态不同步时,先救火(重建连接)再复查中间设备老化配置

数据来源与参考

  • RFC 1122(Keep-Alive)
  • RFC 9293(连接状态)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌