before
win10 + chrome 80.0.3987.116(正式版本) (64 位) + firefox73.0.1 (64 位)
默認的,Fiddler只能代理HTTP請求,那如何讓Fiddle代理HTTPS請求呢?這就需要一些證書和其他配置了。
另外,Chrome和IE都是讀取系統管理的證書的,而Firefox則是自己管理證書。所以,接下來我們需要分開配置證書。
配置Chrome和IE證書
fiddler端設置
- fiddler的菜單欄選擇
Tools
的Options
選項,在彈出框選擇HTTPS
選項,勾選Decrypt HTTPS traffic
,然后彈出框選擇Yes
。彈出框的大致意思是配置Windows去信任fiddler的證書。
- 安全警告選擇
是
即可。提示是將從下面的證書機構安裝證書。
- 將fiddler的證書(DO_NOT_TRUST_FiddlerRoot)安裝到本地的證書根目錄,選擇
是
。
- (可選)當你在上一步中點擊了
是
之后,如果有用戶賬戶控制提示的話,就點擊是
就OK了。 - 添加證書成功,點擊
確定
即可。
此時,fiddler端暫時設置完畢。
Chrome設置代理
此時,默認你的Chrome是沒有其他的代理工具的,如果有,可以添加一個代理規則或者暫時停止使用。
然后,我們來配置使用fiddler的代理,首先,我們在前面部分知道,fiddler默認代理的是本地127.0.0.1:8888
端口。
現在,開始配置。
- Chrome打開
設置
- 下拉點擊
高級
的系統
選項,選擇打開您計算機的代理設置
。如果你之前有使用別的代理插件,先停用掉。
- 此時,會打開你Windows系統的代理設置,填寫相關配置並保存。
- 現在,就可以使用fiddler抓到你的Chrome瀏覽器的https請求了。
如果不好使,請重啟瀏覽器和fiddler,再不行的話,我們選擇重置fiddler證書嘗試一下。
另外,IE和Chrome瀏覽器配置差不多,都是使用的是系統的代理設置,所以IE的就不演示了,並且,IE和Chrome都是讀取的是系統的https證書,所以,無需其他配置。
我們往下看火狐瀏覽器的代理設置。
配置Firefox證書
正常來說,如果你的Firefox瀏覽器配置了手動代理,也就是fiddler監聽的127.0.0.1:8888
,則可以正常的抓到HTTP的包的,但是無法抓取https的包。
那如何配置才能抓取https的包呢?相對於IE和Chrome瀏覽器讀取系統的證書來說,Firefox因為是自己管理https證書,所以我們需要將fiddler的證書導入到Firefox的證書管理器中,那哪來的fiddler的證書呢?以及如何導入呢?我們一步步來做。
fiddler中導出證書
- fiddler的菜單欄
Tools
▶Options
▶HTTPS
▶保證Decrypt HTTPS traffic
選項處於勾選狀態▶Actions
▶Export Root Certificate to Desktop
,將fiddler證書導出到桌面。
- 提示證書已經導出到桌面了。
- 桌面上你可以看到導出的證書
FiddlerRoot.cer
,你可以雙擊打開。
OK,現在,fiddler的證書有了,我們就可以將該證書安裝到Firefox中了。
Firefox導入fiddler證書
- Firefox瀏覽器的
設置
▶選項
▶隱私與安全
▶證書
▶查看證書
。
- 在打開的證書管理器中,選擇
導入
。
- 本地選擇桌面的fiddler證書,然后會有一個
下載證書
的提示,選擇是
即可。
- 現在fiddler的證書已經導入了。點擊證書管理器右下角的
確定
就行了。
- 重啟瀏覽器,現在Firefox瀏覽器就能成功的抓到了https的包了。
PS:本地的fiddler證書導入之后,就可以刪掉了。
如何查看證書是否安裝成功
我們可以在本地查看fiddler的證書,怎么查看呢?
-
有兩種方式打開系統的證書管理器。
- 從fiddler直接打開。
Tools
▶Options
▶HTTPS
▶Actions
▶Open Windows Certificate Manager
- 第二種方式是系統的搜索框搜索
cert
,選擇管理計算機證書
即可。
- 從fiddler直接打開。
-
(可選)如果有用戶賬戶控制提示,點擊是即可。
-
在證書管理器中,選擇
操作
▶查找證書
。
- 輸入
fiddler
點擊立即查找
就會在下面看到fiddler的證書了。
如果你沒有查到該證書,你是抓不到https包的。
重置fiddler證書
如果證書過期或者你發現無法抓取HTTPS包了,我們可以嘗試重置fiddler證書,然后重新生成一個fiddler證書就可以了。
- fiddler的菜單欄
Tools
▶Options
▶HTTPS
▶保證Decrypt HTTPS traffic
選項處於勾選狀態▶Actions
▶Rest ALL Certificates
,重置fiddler的證書。
- 是否重置證書,選擇
確定
。
- 是否從本地的證書列表中刪除證書,選擇
是
。
- (可選),如果遇到用戶賬戶控制,選擇
是
。 - fiddler證書從本地證書列表中刪除成功,點擊
確定
,此時你會發現Decrypt HTTPS traffic
選項已經取消勾選了。
- 根證書存儲這里,選擇
是
。
- fiddler的根證書從本地刪除成功,選擇
確定
。
- 此時,又進入了配置fiddler證書的環節了,你一路下一步即可。
至於Firefox的證書,你有要重新從fiddler中導出到桌面,然后在導入到Firefox的證書管理器中了,這我就不啰嗦了。當然,其中在瀏覽器導入fiddler證書之前,你可以把原來的證書刪除掉,然后再導入新的證書。記着操作完別忘了重啟瀏覽器,不然不生效!
歡迎斧正,that's all