抓包分析
实验主要两个内容:
- TCP三次握手和四次挥手过程
- 分析HTTPS的TLS握手过程
TCP三次握手
windows10下wireshark工具,浏览器访问47.93.242.17端口443,即HTTPS协议,源端口54407
-
第一次握手tcp报文段 报文段分析: 源端口:54407
目的端口:443
sequence number:229919303
SYN标志为1
窗口大小:64240
校验和
可选项
时间戳
-
第二次握手 报文段分析: 源端口:443
目的端口:54407
sequence number: 311700020
ackonwledgment number: 229919304
flags:SYN=1 ACK=1
窗口大小:29200
校验和
可选项
时间戳
-
第三次握手 报文段分析: 源端口:54407
目的端口:443
sequence number: 229919304
ackonwledgment number: 311700021
flags:ACK=1
窗口大小:513
校验和
可选项
时间戳
-
**总结:**第一次握手客户端向服务端发送SYN报文段,其中包含了自己的seq=x;第二次握手服务端向客户端发送SYN+ACK报文段,其中seq=y,ack=x+1;第三次握手客户端向服务端发送ACK报文段,其中seq=x+1,ack=y+1.
TCP四次挥手
-
四次挥手 这里惊奇的发现,四次挥手实际上只进行了三次,第二次和第三次合并了! -
第一次挥手 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hb5o14s6-1645970090549)( )] -
第二次、第三次挥手 -
第四次挥手
-
总结 第一次挥手,客户端向服务端发送ACK+FIN报文段,包含了seq=x,ack=上一次发送ack;第二、三次挥手,服务端向客户端发送FIN+ACK报文段,包含了seq=y,ack=x+1;第四次挥手,客户端向服务端发送ACK报文段,seq=x+1,ack=y+1,客户端进入TIME_WAIT状态,服务端接收到ACK后CLOSE -
三次挥手的原因 因为Linux的延迟ACK机制?感觉不对 实际原因是,服务端实现过程是,在接收到到客户端的断开连接请求之后,马上调用close,因此ACK和FIN合并了。
HTTPS过程分析
|