标签:发送 rect 深度 redirect 显示 客户端 文件 url log
打开https://www.baidu.com/ 网页一个简单的动作,都经历了什么?你想探究内部的原理吗?那我们一起去探索吧
1.准备工作
安装好wireshark。Wireshark(前称Ethereal)是一个网络报文分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
2.抓取报文
打开wireshark,并开启监听模式,打开浏览器,输入https://www.baidu.com/ ,等待返回后,关闭浏览器,最后停止wireshark监听,并保存文件。
3.分析报文
3.1 查看百度的地址,cmd命令行nslookup
C:\Users\dell>nslookup www.baidu.com 服务器: ns-pd.online.sh.cn Address: 202.96.209.133 非权威应答: 名称: www.a.shifen.com Addresses: 115.239.210.27 115.239.211.112 Aliases: www.baidu.com
从上面可以知道,先访问的是DNS服务器,上篇文章<
>已经详细描述了dns协议的交互过程。本节我们重点查看和百度网站的交互。
3.2 分析报文
从上面可以知道百度有两个IP地址,
115.239.210.27 115.239.211.112
从wireshark抓取的情况看,给我提供服务的是第一个ip地址
115.239.210.27
那么,我就可以根据ip地址在wireshark上进行分析了
(ip.src==172.16.86.71 and ip.dst_host==115.239.210.27) or (ip.src==115.239.210.27 and ip.dst_host==172.16.86.71)
如下图所示:
3.3 分析过程
通过上面的报文我们可以看到本地机器(172.16.86.71)与百度先进行了tcp协议的交互,然后TLSv 1.2,然后tcp和TLSv 1.2交互。
3.3.1 tcp的三次握手
第一次握手报文,从客户端到服务器端
第二次握手,从服务器端到客户端
第三次握手,从客户端到服务器端
总结,从上面的分析,可以看出
序号123,124,125是一个握手过程
序号122,126,127是一个握手过程。
3.3.2 https
https交互流程,如下图所示
第一阶段
1.client hello
tcp响应
2.服务端
3.Change Cipher Spec
客户端tcp响应
4.Encrypted Handshake Message
客户端发送请求
5.传送数据
6.关闭浏览器退出传送数据
3.3.3 4次挥手
1.第一次挥手
2.第二次挥手
3. 第三次挥手
4.第四次挥手
总结:第三次挥手和第四次挥手之间seq和ack倒置了。
参考资料
【1】https://segmentfault.com/a/1190000014740303?utm_source=tag-newest
访问了一次百度网页,你都经历了什么?https及tcp协议揭秘
标签:发送 rect 深度 redirect 显示 客户端 文件 url log
原文地址:https://www.cnblogs.com/davidwang456/p/10758090.html