fiddler的http、https的抓包功能很是強大,可很是便捷得對包進行斷點跟蹤和回放,可是普通的配置對於像招商銀行、支付寶、陌陌這樣的APP是抓不到包的,須要一些特殊的配置,本文把fiddler Android下https抓包的詳細配置都羅列出來,供你們參考。瀏覽器
1、普通https抓包設置服務器
先對Fiddler進行設置:網絡
勾選「CaptureHTTPS CONNECTs」,接着勾選「Decrypt HTTPS traffic」。同時,因爲咱們是經過WiFi遠程連過來,因此在下面的選項框中選擇「...fromremote clients only」。app
若是你要監聽的程序訪問的HTTPS站點使用的是不可信的證書,則請接着把下面的「Ignore servercertificate errors」勾選上。函數
監聽端口默認是8888,你能夠把它設置成任何你想要的端口。勾選上「Allow remote computersto connect」。代理
爲了減小干擾,能夠去掉「Act assystem proxy on startup」。server
3)設置Android設備,添加代理服務器支付寶
保證PC所在網絡和Android所用的wifi是相通的。rem
獲取PC的局域網IP地址io
這裏的IP是192.168.0.52。
下面來設置Android設備上的代理服務器:
打開WiFi設置頁面,選擇要鏈接的AP,而且長按,在彈出的對話框中,選擇「修改網絡」。
在接下來彈出的對話框中,勾選「顯示高級選項」。在接下來顯示的頁面中,點擊「代理」,選擇「手動」。
代理服務器主機名設爲PC的IP,代理服務器端口設爲Fiddler上配置的端口8888,點"保存"。
這樣就能夠對普通的https抓包了。
2、過證書校驗
上面的設置還不能抓像招商銀行、支付寶等APP的https包,由於這些APP對https證書進行了校驗,還須要將Fiddler代理服務器的證書導到Android設備上才能抓這些APP的包。
導入的過程:
打開瀏覽器,在地址欄中輸入代理服務器的IP和端口,會看到一個Fiddler提供的頁面:
點擊頁面中的「FiddlerRootcertificate」連接,接着系統會彈出對話框:
輸入一個證書名稱,而後直接點「肯定」就行了。
3、使其在HttpURLConnection下正常抓包
如今招商銀行還有支付寶,均可以抓包了,可是對於像陌陌這樣使用HttpURLConnection進行通信的APP仍是無能爲力
還須要對fiddler進行以下設置:
點擊"Rules->CustomizeRules";
在這個函數OnBeforeResponse後面添加
if (oSession.oRequest["User-Agent"].indexOf("Android")> -1 && oSession.HTTPMethodIs("CONNECT")) {oSession.oResponse.headers["Connection"] = "Keep-Alive"; }
以下圖所示:
這裏的" Android"可替換爲User-Agent裏的其它字符,確保匹配上User-Agent就行
如下爲抓包示例:
招商銀行app抓包
支付寶app抓包
陌陌app抓包