访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

打开https://www.baidu.com/ 网页一个简单的动做,都经历了什么?你想探究内部的原理吗?那咱们一块儿去探索吧html

1.准备工做segmentfault

安装好wireshark。Wireshark(前称Ethereal)是一个网络报文分析软件。网络封包分析软件的功能是撷取网络封包,并尽量显示出最为详细的网络封包资料。Wireshark使用WinPCAP做为接口,直接与网卡进行数据报文交换。浏览器

2.抓取报文安全

打开wireshark,并开启监听模式,打开浏览器,输入https://www.baidu.com/ ,等待返回后,关闭浏览器,最后中止wireshark监听,并保存文件。服务器

3.分析报文网络

3.1 查看百度的地址,cmd命令行nslookuptcp

C:\Users\dell>nslookup www.baidu.com
服务器: ns-pd.online.sh.cn
Address: 202.96.209.133ide

非权威应答:
名称: 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)
以下图所示:

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

3.3 分析过程

经过上面的报文咱们能够看到本地机器(172.16.86.71)与百度先进行了tcp协议的交互,而后TLSv 1.2,而后tcp和TLSv 1.2交互。

3.3.1 tcp的三次握手

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

第一次握手报文,从客户端到服务器端

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

第二次握手,从服务器端到客户端

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

第三次握手,从客户端到服务器端

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

总结,从上面的分析,能够看出

序号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交互流程,以下图所示

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

第一阶段

1.client hello
访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

tcp响应
访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

2.服务端

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

3.Change Cipher Spec

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

客户端tcp响应

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

4.Encrypted Handshake Message

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

客户端发送请求

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

5.传送数据

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

6.关闭浏览器退出传送数据

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

3.3.3 4次挥手

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

1.第一次挥手
访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

2.第二次挥手
访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

  1. 第三次挥手

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘
4.第四次挥手

访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

总结:第三次挥手和第四次挥手之间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

相关文章
相关标签/搜索