打开https://www.baidu.com/ 网页一个简单的动作,都经历了什么?你想探究内部的原理吗?那我们一起去探索吧
1.准备工作
安装好wireshark。Wireshark(前称Ethereal)是一个网络报文分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
2.抓取报文
打开wireshark,并开启监听模式,打开浏览器,输入https://www.baidu.com/ ,等待返回后,关闭浏览器,最后停止wireshark监听,并保存文件。
3.分析报文
3.1 查看百度的地址,cmd命令行nslookup
C:甥敳獲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---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)
如下图所示:
![1a2dece02bf4e6b524518b7bc0499b04.png](https://img-blog.csdnimg.cn/img_convert/1a2dece02bf4e6b524518b7bc0499b04.png)
3.3 分析过程
通过上面的报文我们可以看到本地机器(172.16.86.71)与百度先进行了tcp协议的交互,然后TLSv 1.2,然后tcp和TLSv 1.2交互。
3.3.1 tcp的三次握手
![68adbf911f473a95a90af3dd2cbf032f.png](https://img-blog.csdnimg.cn/img_convert/68adbf911f473a95a90af3dd2cbf032f.png)
第一次握手报文,从客户端到服务器端
![612337088f2e6134398347253254124c.png](https://img-blog.csdnimg.cn/img_convert/612337088f2e6134398347253254124c.png)
第二次握手,从服务器端到客户端
![de14039280354e9a0be2d4c3fe6a1d0e.png](https://img-blog.csdnimg.cn/img_convert/de14039280354e9a0be2d4c3fe6a1d0e.png)
第三次握手,从客户端到服务器端
![2581ec0ccbc6c702993a74f6ec4c27e0.png](https://img-blog.csdnimg.cn/img_convert/2581ec0ccbc6c702993a74f6ec4c27e0.png)
总结,从上面的分析,可以看出
序号123,124,125是一个握手过程
序号122,126,127是一个握手过程。
3.3.2 https
TLS概述:TLS和他的前身SSL,都是提供在计算机网络上安全通信的密码学协议,最常见就是用于HTTPS中,用来保护Web通信的。
发展史:网景公司开发了原始的SSL协议,SSL 1.0因为本身存在着严重的安全问题,所以从未被公开发布。只有SSL 2.0和SSL 3.0是被公开发布和使用的。后来为了对SSL进行标准化,推出了TLS,TLS 1.0就对应着SSL 3.0。TLS后来又有了1.1版本和1.2版本,1.3版本目前还在草案中。现在除了TLS 1.2和TLS 1.3草案之外,所有早期的协议都存在安全性问题,不建议使用。
https交互流程,如下图所示
![ff6b9dcb27297b341bf25bdb4d5ef94a.png](https://img-blog.csdnimg.cn/img_convert/ff6b9dcb27297b341bf25bdb4d5ef94a.png)
第一阶段
1.client hello
![e605a422ed63b0db657f42cc78bbefc7.png](https://img-blog.csdnimg.cn/img_convert/e605a422ed63b0db657f42cc78bbefc7.png)
tcp响应
![b991f357142f063763614477a4cc71f5.png](https://img-blog.csdnimg.cn/img_convert/b991f357142f063763614477a4cc71f5.png)
2.服务端
![96aa149d0d06f3f21ce573891344cc3b.png](https://img-blog.csdnimg.cn/img_convert/96aa149d0d06f3f21ce573891344cc3b.png)
3.Change Cipher Spec
![364de9fe6747f3779717d6753e940f5a.png](https://img-blog.csdnimg.cn/img_convert/364de9fe6747f3779717d6753e940f5a.png)
客户端tcp响应
![ce42ace873971976a25d7ea991ccc1dc.png](https://img-blog.csdnimg.cn/img_convert/ce42ace873971976a25d7ea991ccc1dc.png)
4.Encrypted Handshake Message
![34ebde18a9a315a6a3b7bd69e04557d5.png](https://img-blog.csdnimg.cn/img_convert/34ebde18a9a315a6a3b7bd69e04557d5.png)
客户端发送请求
![440474ee2bb90f0d231dc2ccb75a700c.png](https://img-blog.csdnimg.cn/img_convert/440474ee2bb90f0d231dc2ccb75a700c.png)
5.传送数据
![235ffe5999de305af0e3442f14f4cb91.png](https://img-blog.csdnimg.cn/img_convert/235ffe5999de305af0e3442f14f4cb91.png)
6.关闭浏览器退出传送数据
![e038a12d87a606094970b361a1cffae5.png](https://img-blog.csdnimg.cn/img_convert/e038a12d87a606094970b361a1cffae5.png)
3.3.3 4次挥手
![a61404aa5dc2d92339fa6e0d83130b2d.png](https://img-blog.csdnimg.cn/img_convert/a61404aa5dc2d92339fa6e0d83130b2d.png)
1.第一次挥手
![97c74dfdccd18b66e92088033ac4e957.png](https://img-blog.csdnimg.cn/img_convert/97c74dfdccd18b66e92088033ac4e957.png)
2.第二次挥手
![35110727c333bebe5da96b436cc0f7e0.png](https://img-blog.csdnimg.cn/img_convert/35110727c333bebe5da96b436cc0f7e0.png)
- 第三次挥手
![a86cafdc3d99e6dbc4297dba90d506e0.png](https://img-blog.csdnimg.cn/img_convert/a86cafdc3d99e6dbc4297dba90d506e0.png)
4.第四次挥手
![ea3d87ffe65a8dba388451fc4f0749b6.png](https://img-blog.csdnimg.cn/img_convert/ea3d87ffe65a8dba388451fc4f0749b6.png)
总结:第三次挥手和第四次挥手之间seq和ack倒置了。
参考资料
【1】https://segmentfault.com/a/1190000014740303?utm_source=tag-newest
【2】https://mp.weixin.qq.com/s?__biz=MzI3NzE0NjcwMg==&mid=2650123669&idx=1&sn=55743603e490373474be439cb35430ae&chksm=f36bb0b4c41c39a2cfb36d4e362b932a7dcee682a26b78570050ee5860a14be5e021155a7bfe&scene=27#wechat_redirect
【3】https://mp.weixin.qq.com/s?__biz=MzUzMTA2NTU2Ng==&mid=2247486411&idx=2&sn=18f4245ae36c37ccd8d261114f4a453b&chksm=fa49747acd3efd6cddee211efa6cb695a69776cc780aa41d64096958859307b9e5850edbf574&scene=27#wechat_redirect