Wireshark和Fiddler的優缺點:
①Wireshark是一種在網絡層上工作的抓包工具,不僅自帶大量的協議分析器,而且可以通過編寫Wireshark插件來識別自定義的協議。雖然Wireshark功能強大,但是卻並不能解決所有的抓包問題,其原因在於:Wireshark工作在網絡層;如果計算機配置了IPSec傳輸層加密,則在網絡層的流量都已經被加密,什么也看不到。當今大量網絡接口使用HTTPS加密,Wireshark不能抓取到HTTPS流量的明文內容。
②Fiddler工作在應用層上,作為其他程序的HTTP代理服務器。它可以直接抓取並分析HTTP流量,也可以作為“中間人”抓取並分析HTTPS流量。
Fiddler抓取HTTPS數據包過程原理:
->fiddler接到客戶端的https請求,fiddler將請求轉發給服務器
->服務器生成公鑰證書,返回給fiddler;fiddler攔截下真的公鑰證書,並生成偽造的公鑰證書給客戶端;
->客戶端使用偽造的公鑰證書加密共享密鑰發送給fiddler,fiddler使用偽造的私鑰解密獲取共享密鑰
->fiddler將解密后的共享密鑰,使用真正的公鑰加密發送給服務器端,服務器使用共享密鑰與fiddler通信
->fiddler使用共享密鑰與客戶端通信
HTTPS沒有解密返回的數據內容,非明文:


步驟一:設置抓取HTTPS,PC機安裝根證書:
Tools->fiddler options->https->capture https connects->decrypt https traffic->ignore server certificate errors(unsafe)->actions->trust root certificate->確定->OK


備注:如果電腦開啟了fiddler且配置勾選了以上decrypt https traffic進行了安裝證書之后,火狐瀏覽器打開百度等頁面,會提示錯誤,無法正常打開頁面。要關閉fiddler或將上述配置取消,才能正常訪問。


安裝根證書后,可以點擊Actions->open windows certificate manager查看安裝到系統的根證書


步驟二:手機安裝Fiddler根證書信任:
手機上用瀏覽器打開代理頁面(輸入IP地址和監聽端口號),頁面標題為Fiddler Echo Service。頁面最下方有個根證書的鏈接,點擊安裝證書信任,證書名稱自定義。


根證書都安裝成功后,用手機訪問應用,抓取的HTTPS數據包解密成功


資料來源:
fiddler手機https抓包:
fiddler PC https抓包:
fiddler解析ssl:
利用Fiddler 解SSL加密 數據包: