訪問了一次百度網頁,你都經歷了什麼?https及tcp協議揭祕

打開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---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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章