背景
公司的APP很多業(yè)務幾乎都切換成了用https以后,切換之前,手機只要連上代理以后就能輕易抓包了,但切換之后,手機連上代理以后就訪問不了https網址了。之前很多人說遇到連了代理后上不了網,然后就不了了之了,最近測試要用的fiddler,連了代理以后也是上不了網,但我用瀏覽器打開http://www.baidu.com,居然打開了,然后疑惑為什么連了代理以后用不了我們自己的APP呢?一開始真沒有注意到是改成https以后才不行的,因為以前都可以的,怎么用著用著就不行了呢?折騰了好一會才發(fā)現(xiàn),原來連接代理以后,是要安裝證書才能訪問的。
分析
安裝證書前,在手機瀏覽器上打開了百度 http://baidu.com成功打開了,但是打開https://sina.com 就不行,并提示未授權證書,問題已經很明顯了,就是https的問題,要安裝證書,安裝好證書應該就可以了。
安裝證書
以Android手機為例,iOS 同理:
- 前提打開fiddler,分別點擊Tools——Fiddler Options——HTTPS ,把 Capture HTTPS CONNECTs 和 Decrypt HTTPS traffict兩個選項都已勾選上了,如圖:
-
接下來你可以在手機瀏覽器中輸入 http://10.22.0.36:8888,
其中10.22.0.36 是你的主機ip ,可以打開cmd——輸入ipconfig——取IPv4 地址的值即可,如下圖:
在手機瀏覽器中打開 http://10.22.0.36:8888以后,點擊 FiddlerRoot certificate
可任意輸入一個證書名稱,點擊“確定”即可。另外,還有一種情況,如果你還沒有設置手機的鎖屏密碼,要先去設置,不然它會一直提示你輸入密碼,輸入超過次數(shù)以后就不能再輸了,會導致證書安裝失敗。
檢查證書
- 證書安裝成功了以后,可以檢查一下證書是否安裝成功==進入設置——安全——受信任的憑證——用戶
看到有 DO_NOT_TRUST 說明已安裝成功了。
- 安裝成功了以后,連上代理,在瀏覽器中打開https://www.sina.com應該就可以打開了,也可以成功抓到https的包了
失敗的嘗試
- 在fiddler上設置可以抓取HTTPS請求(無效)
- 把允許遠程計算機連接的選項勾選上了,打開fiddler——Tools—>Fiddler Options——Connection,勾選Allow remote computers to connect(也無效)
- 手機連上主機以后,關掉電腦的防火墻(網上說有效,但我嘗試了,還是無效)
打開控制面板——系統(tǒng)與安全——Windows防火墻——啟用防火墻
將防火墻關掉以后嘗試操作,還是訪問不了https(誤以為是上不了網)
上面的方法都不行以后,又折騰了好一會,終于找到問題了,原來也是要安裝證書。
小結
雖然是一個很小的問題,但被自己小小的折騰精神感動到了。同一個問題,網上有各種說法,能找到擊中自己問題的方法很重要,自己也要學會多思考多出對比,才能有更大的進步。








