首页/网络/抓包与流量分析速查/tcpdump 抓零窗口通告
本包目录(400 条)
tcpdump 过滤实战51 条
Wireshark 技巧75 条TCP 流分析82 条应用层报文判读71 条丢包与时延定位60 条抓包工具链61 条

tcpdump 抓零窗口通告

零窗口是接收方"缓冲满了、暂停发送"的信号:tcp[14:2] 读取窗口字段值为 0 即可筛出;排查应用读取慢导致的吞吐骤降。

用途过滤窗口通告为 0 的 TCP 包
语法tcp[14:2] = 0 [and ...]

常用示例

常用示例
tcpdump -i eth0 -nn 'tcp[14:2] = 0' -c 20
tcpdump -i eth0 -nn 'tcp[14:2] = 0 and host 10.0.0.9'
tcp[14:2] 是按标准 20 字节头计算的窗口位置;带选项时 tcpdump 会自动按实际头长偏移,直接使用即可。

易错点

  • 零窗口后发送方会周期性发窗口探测,抓包里看到探测不要误判为重传风暴
  • 窗口为 0 表明是接收端应用处理不过来,优化点通常在读取逻辑而不是网络

数据来源与参考

  • man 8 pcap-filter
  • RFC 9293(窗口通告)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌