问题导入 抓包分析时,看到tcp四次挥手的交互,有时候分为四个包,有时候为三个包,那么何时为四个包,何时为三个包呢? 原因分析 四次包:当一端关闭即执行了close操作,发送FIN,另一端在较长时间内不去执行close,这个时候就会先发ACK确认,当有close执行时就会去发FIN包,对端最后发ACK确认。这就是四包的交互。 三次包:当一端执行close后,另一端立即也执行了close,这个时候另一端会把ACK和FIN的包合成一个,最后主动发起的一端发送ACK确认,这就是三次包的交互。