抓包实战系列第 6 篇。上一篇我们分析了一次完整 HTTP 请求:DNS、TCP 三次握手、HTTP 请求、HTTP 响应、连接关闭。今天把其中最关键的一段单独拎出来:TCP 三次握手。我们不再只背 SYN、SYN+ACK、ACK,而是从真实抓包里看它们到底长什么样。开场:背得滚瓜烂熟,抓包还是看懵很多人都能背出三次握手:客户端发 SYN 服务端回 SYN+ACK 客户端再回 ACK面试时也能说:为了确认双方收发能力,并同步初始序列号。这句话没错。但一打开 tcpdump 或 Wireshark,很多人又会开始迷糊:Flags [S] Flags [S.] Flags [.] seq 3824179201 ack 1972458302 win 64240 options [mss 1460,sackOK,TS val 123456 ecr 0,nop,wscale 7]这是什么?为什么 seq 不是 0?为什么 ack 要加 1?为什么 Wireshark 里又显示 Seq=0、Ack=1?MSS、Window Scale、