本包目录(400 条)
tcpdump 过滤实战51 条Wireshark 技巧75 条
TCP 流分析82 条
应用层报文判读71 条丢包与时延定位60 条抓包工具链61 条

TCP 三次握手判读

抓包判读建连:客户端 SYN(seq=x) → 服务端 SYN-ACK(seq=y, ack=x+1) → 客户端 ACK(ack=y+1);三步齐全才算建立成功。

用途确认连接是否正常建立
过滤tcp[tcpflags] & tcp-syn != 0 或显示过滤器 tcp.flags.syn==1

判读要点

判读要点
SYN:窗口与 MSS 选项在此出现
SYN-ACK:确认号必须等于 SYN 的 seq+1
ACK:确认号等于 SYN-ACK 的 seq+1
缺失任一步 → 建连异常,继续看重传与 RST
SYN 与 SYN-ACK 之间的间隔≈半个 RTT,是判断建连慢的基线。

易错点

  • 只看到 SYN 无 SYN-ACK:可能是服务未监听(应回 RST)、防火墙丢包或服务端半连接队列满
  • 抓包点不通(如抓了错误的网卡)会导致握手"缺一半"的假象,先核对抓包位置

数据来源与参考

  • Wireshark User's Guide(TCP 建连)
  • RFC 9293(TCP)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌