訪問了一次百度網頁,你都經歷了什麼?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

相關文章
相關標籤/搜索