1. 程式人生 > >Https和網路抓包工具的一些疑問

Https和網路抓包工具的一些疑問

對於wireshak、charles等主流網路抓包工具軟體,有人會有這樣的疑問:

儘管使用https訪問網站,但是我在電腦安裝了charles的證書並設定手機以後,就可以使用charles抓包同一區域網的iOS裝置,也可以抓到手機上post請求,甚至抓包報文可以看到使用者名稱密碼明文。不是說https是安全的嗎???

1、Https(SSL)加密是發生在應用層與傳輸層之間,所以在傳輸層看到的資料才是經過加密的,而我們捕捉到的是應用層的資料,此時還沒有經過加密。這些明文資訊,其實就是你的本地資料。https是在傳輸階段進行加密的,但你本機用抓包軟體抓,是在你資料還沒進到網絡卡傳送資料之前直接就已經被截獲了

。真正經過https加密後的資料,即使被截獲,我們看到的內容將是一堆亂碼。

2、Https是用來確保除客戶端和服務端外,中間網路通訊過程中不被第三方獲取明文。用charles之所以能看到https明文,是因為你允許了charles在你的電腦上做手腳,關鍵就是你同意charles在你電腦上安裝證書並設定了手機IP。加密資料只有客戶端和伺服器端才能得到明文,如果黑客能直接控制通訊的雙方(你的電腦,或伺服器),那麼黑客肯定能看到https明文的。

3、這樣的話密碼不是會被本地惡意軟體截獲麼?只能說的確存在這樣的可能。不過在銀行電商等安全防護程度較高的網站,除了https加密外,還有安全控制元件加密,如手機使用者必須通過自定義密碼鍵盤

才能輸入密碼,就算手機鍵盤被木馬監聽了,也無法檢視密碼明文。

4、那麼使用charles抓包的作用是什麼呢?壓力測試、獲取介面地址、通訊引數、返回報文並參考分析。