fiddler Android下https抓包全攻略
fiddler的http、https的抓包功能非常強大,可非常便捷得對包進行斷點跟蹤和回放,但是普通的配置對於像招商銀行、支付寶、陌陌這樣的APP是抓不到包的,需要一些特殊的配置,本文把fiddler Android下https抓包的詳細配置都羅列出來,供大家參考。
一、普通https抓包設置
先對Fiddler進行設置:
勾選“CaptureHTTPS CONNECTs”,接着勾選“Decrypt HTTPS traffic”。同時,由於我們是通過WiFi遠程連過來,所以在下面的選項框中選擇“...fromremote clients only”。
如果你要監聽的程序訪問的HTTPS站點使用的是不可信的證書,則請接着把下面的“Ignore servercertificate errors”勾選上。
監聽端口默認是8888,你可以把它設置成任何你想要的端口。勾選上“Allow remote computersto connect”。
為了減少干擾,可以去掉“Act assystem proxy on startup”。
3)設置Android設備,添加代理服務器
保證PC所在網絡和Android所用的wifi是相通的。
獲取PC的局域網IP地址
這里的IP是192.168.0.52。
下面來設置Android設備上的代理服務器:
打開WiFi設置頁面,選擇要連接的AP,並且長按,在彈出的對話框中,選擇“修改網絡”。
在接下來彈出的對話框中,勾選“顯示高級選項”。在接下來顯示的頁面中,點擊“代理”,選擇“手動”。
代理服務器主機名設為PC的IP,代理服務器端口設為Fiddler上配置的端口8888,點"保存"。
這樣就可以對普通的https抓包了。
二、過證書校驗
上面的設置還不能抓像招商銀行、支付寶等APP的https包,因為這些APP對https證書進行了校驗,還需要將Fiddler代理服務器的證書導到Android設備上才能抓這些APP的包。
導入的過程:
打開瀏覽器,在地址欄中輸入代理服務器的IP和端口,會看到一個Fiddler提供的頁面:
點擊頁面中的“FiddlerRootcertificate”鏈接,接着系統會彈出對話框:
輸入一個證書名稱,然后直接點“確定”就好了。
三、使其在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抓包