首页 > 代码库 > TCP 三次握手建立连接,四次挥手断开连接,图解详细分析,有个疑点求帮忙解答????

TCP 三次握手建立连接,四次挥手断开连接,图解详细分析,有个疑点求帮忙解答????

继文章  http://blog.csdn.net/simonchi/article/details/41722511   之后,我觉得有必要来详细的说一下TCP的三次握手和四次挥手的过程,帮助大家理解这个过程。

首先来看一下tcpdump抓取的网络数据包,如何抓包分析参考 上面给出的链接


图中红色框选的是三次握手建立连接

第一次:客户端发送SYN报文,并设置seq=0,


第二次:服务端收到SYN报文,知道对方要求建立连接,发送SYN和ACK报文,并设置seq=0,ack=0(第一次的seq)+1 = 1


第三次:客户端发送ACK报文,设置seq=1(第二次的ACK),ack=0(第二次的seq)+1 = 1


至此,三次握手完成,一次TCP连接建立成功


再来看看四次挥手断开连接

第一张截图的蓝色框选部分,但是这里的好像有问题,缺少了一次ACK的报文,请大牛帮忙看看,这是怎么回事,我连续抓了好几次包来分析,都是这个结果??

第一次:客户端发送FIN+ACK报文,并设置seq=1,ack=7


第二次:服务端发送ACK报文

这里应该服务端回送一个ACK报文,可是在wiresharek分析数据的截图中没有看到这个报文???求解答?????

第三次:服务端发送FIN+ACK报文,


第四次:客户端发送ACK报文















TCP 三次握手建立连接,四次挥手断开连接,图解详细分析,有个疑点求帮忙解答????