TCP三次握手四次挥手及HTTP请求、响应Wireshark抓包分析
1. TCP三次握手流程
三次握手:
第一次握手:客服端发送SYN报文,并且设置发送序号为X;SYN=1 Seq=X
第二次握手:服务端发送SYN和ACK报文,并且设置发送序号为Y,确认序号为X+1;SYN=1 ACK=1 Seq=Y ack=X+1
第三次握手:客服端发送ACK报文,并且发送序号为X+1,确认序号为Y+1;ACK=1 Seq=X+1 ack=Y+1
2. TCP四次挥手流程
四次挥手:
第一次挥手:客户端发送FIN+ACK包给服务端,用以关闭客户端到服务端的数据传送。此时客户端进入FIN_WAIT_1状态;Seq=X ack=Z
第二次挥手:服务端收到FIN包后,此时服务端还可能在与其他客户端进行交互,但是会先发送ACK包。确认字符 ack=X+1,随后发送一个新的序列号seq=Z给服务端。服务端就此进入CLOSE_WAIT(关闭等待)状态;
第三次挥手:服务端关闭与其他客户端交互后,服务端再发送一个FIN包,此时服务端进入LAST_ACK状态(最后状态);
第四次挥手:客服端收到FIN包后进入TIME_WAIT状态,随后发送一个ACK包给服务端,此时服务端进入CLOSED状态。
3. Wireshark抓包分析
测试网址:宝宝树 - 怀孕 育儿 大型育儿网站社区
在Wirshark中设置过滤条件后进行抓包:
可以看到对目标IP地址的HTTP请求与响应包,右键分析TCP流如下:
3.1 三次握手分析
其中Wireshark中窗口情况如下:
3.1.1 数据链路层
3.1.2 网络层
3.1.3 传输层
Windows字段表示源主机最大接受字节数:
Checksum字段包含TCP头部和数据段,由发送端计算和存储,由接收端进行验证:
第一次握手
传输层:
第二次握手
传输层:
第三次握手
传输层:
3.2 HTTP请求、响应包分析
首先了解一下HTTP请求报文结构:
3.2.1 请求报文应用层分析:
HTTP响应报文结构如下:
3.2.2 响应报文应用层分析
3.3 四次挥手分析
第一次挥手:
第二次挥手:
第三次挥手:
第四次挥手:
-来去之间: 求实验文件
-来去之间: 求实验文件
Sin hx: 已更新迅雷云盘链接
m0_51258405: 博主好,这些实战练习没得文件的嘛?