fiddler Android下https抓包全攻略
fiddler的http、https的抓包功能非常強大,可非常便捷得對包進行斷點跟蹤和回放,但是普通的配置對于像招商銀行、支付寶、陌陌這樣的APP是抓不到包的,需要一些特殊的配置,本文把fiddler Android下https抓包的詳細配置都羅列出來,供大家參考。
一、普通https抓包設定
先對Fiddler進行設定:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0NXYFhGd192UvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPBJFWaVEZ6ZlbhZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jM0gDOzkzM4EDOyIDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
勾選“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抓包
fiddler Android下https抓包全攻略