天天看點

fiddler Android下https抓包全攻略

fiddler Android下https抓包全攻略

     fiddler的http、https的抓包功能非常強大,可非常便捷得對包進行斷點跟蹤和回放,但是普通的配置對于像招商銀行、支付寶、陌陌這樣的APP是抓不到包的,需要一些特殊的配置,本文把fiddler Android下https抓包的詳細配置都羅列出來,供大家參考。

一、普通https抓包設定

先對Fiddler進行設定:

fiddler Android下https抓包全攻略

勾選“CaptureHTTPS CONNECTs”,接着勾選“Decrypt HTTPS traffic”。同時,由于我們是通過WiFi遠端連過來,是以在下面的選項框中選擇“...fromremote clients only”。

如果你要監聽的程式通路的HTTPS站點使用的是不可信的證書,則請接着把下面的“Ignore servercertificate errors”勾選上。

fiddler Android下https抓包全攻略

監聽端口預設是8888,你可以把它設定成任何你想要的端口。勾選上“Allow remote computersto connect”。

為了減少幹擾,可以去掉“Act assystem proxy on startup”。

3)設定Android裝置,添加代理伺服器

保證PC所在網絡和Android所用的wifi是相通的。

擷取PC的區域網路IP位址

fiddler Android下https抓包全攻略

這裡的IP是192.168.0.52。

下面來設定Android裝置上的代理伺服器:

打開WiFi設定頁面,選擇要連接配接的AP,并且長按,在彈出的對話框中,選擇“修改網絡”。

在接下來彈出的對話框中,勾選“顯示進階選項”。在接下來顯示的頁面中,點選“代理”,選擇“手動”。

代理伺服器主機名設為PC的IP,代理伺服器端口設為Fiddler上配置的端口8888,點"儲存"。

這樣就可以對普通的https抓包了。

fiddler Android下https抓包全攻略

二、過證書校驗

   上面的設定還不能抓像招商銀行、支付寶等APP的https包,因為這些APP對https證書進行了校驗,還需要将Fiddler代理伺服器的證書導到Android裝置上才能抓這些APP的包。

導入的過程:

    打開浏覽器,在位址欄中輸入代理伺服器的IP和端口,會看到一個Fiddler提供的頁面:

fiddler Android下https抓包全攻略

點選頁面中的“FiddlerRootcertificate”連結,接着系統會彈出對話框:

fiddler Android下https抓包全攻略

輸入一個證書名稱,然後直接點“确定”就好了。

三、使其在HttpURLConnection下正常抓包

     現在招商銀行還有支付寶,都可以抓包了,但是對于像陌陌這樣使用HttpURLConnection進行通訊的APP還是無能為力

還需要對fiddler進行如下設定:

點選"Rules->CustomizeRules";

在這個函數OnBeforeResponse後面添加

if (oSession.oRequest["User-Agent"].indexOf("Android")> -1 && oSession.HTTPMethodIs("CONNECT")) {oSession.oResponse.headers["Connection"] = "Keep-Alive"; }

如下圖所示:

fiddler Android下https抓包全攻略

這裡的" Android"可替換為User-Agent裡的其它字元,確定比對上User-Agent就行

以下為抓包示例:

招商銀行app抓包

fiddler Android下https抓包全攻略

支付寶app抓包

fiddler Android下https抓包全攻略

陌陌app抓包

fiddler Android下https抓包全攻略

fiddler Android下https抓包全攻略