wireshark抓包分析TCP协议的三次握手连接、四次握手断开
目标网站:qige.io
1、TCP的三次握手过程
第一次握手
建立连接时,客户端发送SYN包到服务器,其中包含客户端的初始序号Seq=x。(其中,SYN=1,ACK=0,表示这是一个TCP连接请求数据报文;序号Seq=X,表明传输数据时的第一个数据字节的序号是x)
第二次握手
服务器收到请求后,必须确认客户的数据包。同时自己也发送一个SYN包,即SYN+ACK包。(标识位SYN=1,ACK=1,表示这是一个TCP连接响应数据报文,并含服务端的初始序号Seq(服务器)=Y,以及服务器对客户端初始序号的确认号Ack(服务器)=Seq(客户端)+1=X+1)
第三次握手
客户端收到服务器的SYN+ACK包,向服务器发送一个序列号(Seq=X+1),确认号为Ack(客户端)=Y+1,此包发送完毕,客户端和服务器进入ESTAB_LISHED(TCP连接成功)状态,完成三次握手。
2、TCP的四次挥手过程
第一次挥手
首先,客户端发送一个FIN,用来关闭客户端到服务器的数据传送,然后等待服务器的确认。其中终止标志位FIN=1,序列号Seq=X。
第二次挥手
服务器收到这个FIN,它发送一个ACK,确认Ack为收到的序号加一(X+1)。
第三次挥手
关闭服务器到客户端的连接,发送一个FIN给客户端。
第四次挥手
客户端收到FIN后,并发回一个ACK报文确认,并将确认序号Seq设置为收到Ack序号。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
Fiddler抓包
如果想抓一个HTTPS包,wireshark能获取HTTPS,但不能解密HTTPS,因此需要用到工具Fiddler
具体的配置和使用方法,可参考:Fiddler抓包工具简介,安装及使用教程详解
抓取效果如下: