看wireshark报文技巧

TCP握手与挥手

握手看SYNC与ACK

第一次握手[SYNC]标志, 第二次握手看[SYNC,ACK]标志,第三次ACK。

挥手看FIN

报文交互

正常交互

  • 先看len,当长度为0,这个包是ack包,长度不为0表示是发送的数据包。
  • 再看ack,表示该值以前的序号都收到了。ack是对端上一个报文的seq+len,同时也是期望对端下一个发包。

警告交互

TCP Dup ACK

重传ACK[TCP dup ack AAA#B],其中A表示重复发送的是哪个number的报文(注意不是seq),B表示这是第几次重复发送ACK。主要有以下场景会导致。

回复的ACK丢了导致对端没有收到,导致对端重复发送报文,以至于期望接收的报文没有收到,需要重复发送ACK。

序列468的重发实际是多余,接收者在466序列已经收到了。

TCP Out-of-Order

报文乱序,发送报文的seq不对,一般情况下是对TCP Dup ACK的重传。