Fiddler對https抓包時,提示"HTTPS decryption is disabled."
原因:沒有啟用 https 解密。
破解:
-------------------------------------------------------------以下為轉載內容---------------------------------from @韓子遲------------------------------------------------
如何用fiddler捕獲https請求:
安裝完 Fiddler 后,我們每次打開瀏覽器輸入 url,Fiddler 便會捕獲到我們的 http 請求(Fiddler 是以代理 web 服務器的形式工作的,它使用代理地址:127.0.0.1,端口:8888. 當瀏覽器打開時 Fiddler 會自動設置代理,退出的時候它會自動注銷代理,這樣就不會影響別的程序)。但是,如果要捕獲 https 的請求,我們還需要進行一些額外的設置。
要抓取走 HTTPS 的 JS 內容,Fiddler 必須解密 HTTPS 流量。但是,瀏覽器將會檢查數字證書,並發現會話遭到竊聽。為了騙過瀏覽器,Fiddler 通過使用另一個數字證書重新加密 HTTPS 流量。Fiddler 被配置為解密 HTTPS 流量后,會自動生成一個名為 DO_NOT_TRUST_FiddlerRoot 的 CA 證書,並使用該 CA 頒發每個域名的 TLS 證書。若 DO_NOT_TRUST_FiddlerRoot 證書被列入瀏覽器或其他軟件的信任 CA 名單內,則瀏覽器或其他軟件就會認為 HTTPS 會話是可信任的、而不會再彈出“證書錯誤”警告。
首先,打開 Fiddler,在菜單欄中依次選擇 【Tools】->【Fiddler Options】->【HTTPS】,勾上如下圖的選項
勾上后,Fiddler 會提示你安裝一個證書。安裝完后點擊上圖中的 "Export Root.." 按鈕,將證書下載到桌面。
接着將證書導入到瀏覽器。這里以 chrome 舉例,依次選擇 【設置】->【管理證書..】 將保存在桌面的證書導入即可(其他瀏覽器類似,通常有個“證書”選項設置)。
也可以直接雙擊下載下來的證書,進行安裝。
我們打開 www.baidu.com,這時就可以愉快地捕獲 https 請求了!
細心的你可能會發現,在 https 的請求中夾雜着一些 http 的請求,並且該 session 的 Host 參數是個詭異的 "Tunnel to”簡單地說 fiddler 當做代理轉發 https 請求的時候,就會產生 "CONNECT Tunnels",所以大可忽略它。
ps:據說如果要捕獲移動端的 https 請求,在手機上也要安裝證書!