首页/网络/抓包与流量分析速查/TCP 半关闭状态处理
TCP 流分析82 条

TCP 半关闭状态处理

一方发 FIN 后连接进入半关闭:本方向关闭但另一方向仍可发送;HTTP 等协议通常直接双向关闭,长连接协议可能要专门处理半关闭。

用途理解 FIN 后的单向可用状态
观察FIN 后同方向不再发数据,反方向流量继续

判读

判读
客户端 FIN → 服务端继续推送数据 → 客户端仍 ACK
服务端应用需感知"对端不再发送"
半关闭期间发数据到已关闭方向会收到 RST
抓包里 FIN 不表示连接彻底结束,看两侧 FIN 都出现才完成。

易错点

  • 应用把 FIN 当"连接已断"提前清理资源,会误切仍在接收的数据
  • 服务端推送后突然 RST:多为对端已完全关闭而服务端继续写

数据来源与参考

  • RFC 9293(半关闭)
  • RFC 1122
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌