1.簡介
經過上一篇對Fiddler的配置後,絕大多數的Https的會話,我們可以成功捕獲抓取到,但是有些版本的Firefox瀏覽器仍然是捕獲不到其的Https會話,需要我們更進一步的配置才能捕獲到會話進行抓包。
2.宏哥環境
1.宏哥的環境是Windows 10版本 64位系統(32位的同學自己想辦法哦),如下圖所示:
2.宏哥安裝的FireFox的版本是:56.0 。如下圖所示:
3.FireFox代理設置
一般來說對於Firefox 瀏覽器只要你開啓系統代理或者手動設置代理就能正常的抓包。在Firefox中的設置下找到網絡設置選擇系統代理或者手動設置代理都可以,如下圖所示:
4.Firefox 證書設置
一般情況下,經過前邊的配置,就可以抓取FireFox的Https會話,但是有些Firefox的版本需要手動去安裝一下證書,纔可以正常的去抓取信息。否則用fiddler抓包時候,打開百度網頁:https://www.baidu.com 就會出現提示:網頁不安全。如下圖所示:
上邊圖中的這個提示我們應該再熟悉不過了,就是因爲客戶端(瀏覽器)沒有安裝證書纔會有這個不安全的提示信息。那麼要解決這個問題我們只需要在Firefox瀏覽器裏安裝證書即可。
那麼問題隨之而來,證書從何而來呢???宏哥想讓大家想一下,我們正常情況下是安裝服務器配置好的證書就可以了,現在在客戶端和服務器中間插入了Fiddler這個第三者。因此不用想了,證書當然是從Fiddler這裏來的了。
4.1Fiddler生成證書
首先我們可以從Fiddler中手動的導出證書,前提是已經按照宏哥前邊的操作已經配置好了Fiddler,可以直接導出。具體操作步驟如下:
1.打開菜單欄選擇Tools-->Options-->HTTPS,如下圖所示:
2.點擊Actions選擇Export Root Certificate to Desktop(將根證書導出到桌面),如下圖所示:
3.導出到桌面,此時桌面上會多一個文件:FiddlerRoot.cer,如下圖所示:
4.2安裝證書到Firefox中
1.打開右上角瀏覽器設置-->選項-->下面的隱藏與安全---->找到證書--->點擊查看證書(打開證書管理器)-->證書機構-->導入。如下圖所示:
2.選中剛剛導出在桌面的證書文件:FiddlerRoot.cer 導入,點擊“打開”,如下圖所示:
3.打開文件後,會彈出個框,勾選三個選項,點擊“確定”就完成操作啦。如下圖所示:
安裝證書後,Fiddler就能捕獲FireFox發出的Https請求了。如果其他瀏覽器也有同樣的問題,也可以單獨安裝證書。這是針對比較老一點的FireFox瀏覽器解密 HTTPS 流量的解決辦法如果已經安裝了證書會提示已經存在。
5.檢查是否能捕獲FireFox的Https會話
可以看到沒有安全提示了,而且Fiddler已經抓包成功了,如下圖所示:
6.Fiddler請求基本過濾
Fiddler默認上抓到的是我們web端和移動端所有的請求請求,如果web端上打開了網頁並且同時手機也在發送請求會話的時候, 那麼這時候就需要開啓過濾功能了。
我們通過Fiddler菜單欄中的Tools--->Options-->HTTPS修改..from all processes這一項,如下圖所示:
選項含義如下表:
選擇項 | 描述 |
---|---|
from all processes |
抓所有進程所產生的請求會話 |
from browsers only |
只抓瀏覽器進程所產生的請求會話 |
from non-browsers only |
只抓非瀏覽器的請求 |
from remote clients only |
只抓遠程客戶端請求, 一般手機抓包會用! |
6.小結
如果還不能成功,那就重啓瀏覽器,重啓電腦了。其他瀏覽器也基本上是這樣操作的。
6.1可能遇到的坑
重啓電腦和瀏覽器後,如果還是有問題,不能夠成功。請執行下邊的操作:
6.1.1fiddler設置
1.打開菜單欄選擇Tools-->Options-->HTTPS,如下圖所示:
2.點擊Actions,點擊裏面的子菜單的Reset All Certificates,點擊確定,如下圖所示:
3.重啓瀏覽器,重啓Fiddler後。就OK了。