先找到目标 TCP 会话

先用服务器 IP 或端口过滤目标流量,右键其中一个数据包选择“追踪 TCP 流”,Wireshark 会自动加入会话编号条件。正常三次握手依次出现客户端 SYN、服务器 SYN/ACK 和客户端 ACK,且间隔通常很短。握手是否完整,是判断应用层问题前的重要基础。

超时、拒绝与重置

如果客户端连续发送 SYN 却没有回应,可能是链路、路由、防火墙或服务端未返回;若立即收到 RST,通常表示目标地址可达但端口没有监听,或中间设备主动拒绝。可使用 tcp.flags.syn == 1tcp.flags.reset == 1 分别寻找握手和重置包。

如何理解重传与乱序

Wireshark 会在分析列标记 Retransmission、Fast Retransmission、Out-Of-Order 等提示。少量提示不一定代表严重故障,因为抓包设备自身丢包也会造成误判。应结合时间间隔、确认号和同一时段的整体比例判断。大量重复确认和快速重传通常提示链路存在丢包。

窗口问题与性能下降

tcp.analysis.zero_window 表示接收端暂时没有可用缓冲区,发送方必须暂停;Window Full 表示发送量已接近对方声明的窗口。此类现象更可能与接收端处理速度、应用读取能力或系统资源有关,而不只是带宽不足。

抓包点决定你看到的事实。客户端和服务端同时抓包并对比时序,往往能判断数据究竟在哪一段丢失。