用wireshark抓包分析TCP协议的三次握手连接、四次握手断开
一.TCP三次握手图解
1.图解如下
2.通过wireshark抓包分析
第一次握手:
建立连接时,客户端发送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连接成功)状态,完成三次握手。
二.TCP得四次挥手过程
1.挥手图解
2.用wireshark抓包
第一次挥手:
首先,客户端发送一个FIN,用来关闭客户端到服务器的数据传送,然后等待服务器的确认。其中终止标志位FIN=1,序列号Seq=X。
第二次挥手:
服务器收到这个FIN,它发送一个ACK,确认Ack为收到的序号加一(X+1)。
第三次挥手:
关闭服务器到客户端的连接,发送一个FIN给客户端。
第四次挥手:
客户端收到FIN后,并发回一个ACK报文确认,并将确认序号Seq设置为收到Ack序号。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
三.用Fiddler抓包,分析验证一个HTTPS网站的TCP连接过程
1.安装
官网:https://www.telerik.com/fiddler
此处提供网盘下载
英文版:
链接:https://pan.baidu.com/s/1X7Z0dReiCY_AwwUacruRQw
提取码:qgcu
汉化版:
链接:https://pan.baidu.com/s/1MK4LVuN7MaqWuuPMRdYNWQ
提取码:hi8r
安装过程一路next即可
参考:https://blog.youkuaiyun.com/qq_36595013/article/details/84779872
https://blog.youkuaiyun.com/xwmrqqq/article/details/110197815