fiddler的http庄岖、https的抓包功能非常強(qiáng)大许蓖,可非常便捷得對(duì)包進(jìn)行斷點(diǎn)跟蹤和回放窖杀,但是普通的配置對(duì)于像招商銀行漓摩、支付寶、陌陌這樣的APP是抓不到包的入客,需要一些特殊的配置管毙,本文把fiddler Android下https抓包的詳細(xì)配置都羅列出來,供大家參考桌硫。
一夭咬、普通https抓包設(shè)置
先對(duì)Fiddler進(jìn)行設(shè)置:
技術(shù)分享
勾選“CaptureHTTPS CONNECTs”,接著勾選“Decrypt HTTPS traffic”鞍泉。同時(shí),由于我們是通過WiFi遠(yuǎn)程連過來肮帐,所以在下面的選項(xiàng)框中選擇“...fromremote clients only”咖驮。
如果你要監(jiān)聽的程序訪問的HTTPS站點(diǎn)使用的是不可信的證書,則請(qǐng)接著把下面的“Ignore servercertificate errors”勾選上训枢。
技術(shù)分享
監(jiān)聽端口默認(rèn)是8888托修,你可以把它設(shè)置成任何你想要的端口。勾選上“Allow remote computersto connect”恒界。
為了減少干擾睦刃,可以去掉“Act assystem proxy on startup”。
3)設(shè)置Android設(shè)備十酣,添加代理服務(wù)器
保證PC所在網(wǎng)絡(luò)和Android所用的wifi是相通的涩拙。
獲取PC的局域網(wǎng)IP地址
技術(shù)分享
這里的IP是192.168.0.52。
下面來設(shè)置Android設(shè)備上的代理服務(wù)器:
打開WiFi設(shè)置頁面耸采,選擇要連接的AP兴泥,并且長(zhǎng)按,在彈出的對(duì)話框中虾宇,選擇“修改網(wǎng)絡(luò)”搓彻。
在接下來彈出的對(duì)話框中,勾選“顯示高級(jí)選項(xiàng)”。在接下來顯示的頁面中旭贬,點(diǎn)擊“代理”怔接,選擇“手動(dòng)”。
代理服務(wù)器主機(jī)名設(shè)為PC的IP稀轨,代理服務(wù)器端口設(shè)為Fiddler上配置的端口8888扼脐,點(diǎn)"保存"。
這樣就可以對(duì)普通的https抓包了靶端。
技術(shù)分享
二谎势、過證書校驗(yàn)
上面的設(shè)置還不能抓像招商銀行、支付寶等APP的https包杨名,因?yàn)檫@些APP對(duì)https證書進(jìn)行了校驗(yàn)脏榆,還需要將Fiddler代理服務(wù)器的證書導(dǎo)到Android設(shè)備上才能抓這些APP的包。
導(dǎo)入的過程:
打開瀏覽器台谍,在地址欄中輸入代理服務(wù)器的IP和端口须喂,會(huì)看到一個(gè)Fiddler提供的頁面:
技術(shù)分享
點(diǎn)擊頁面中的“FiddlerRootcertificate”鏈接,接著系統(tǒng)會(huì)彈出對(duì)話框:
技術(shù)分享
輸入一個(gè)證書名稱趁蕊,然后直接點(diǎn)“確定”就好了坞生。
三、使其在HttpURLConnection下正常抓包
現(xiàn)在招商銀行還有支付寶掷伙,都可以抓包了是己,但是對(duì)于像陌陌這樣使用HttpURLConnection進(jìn)行通訊的APP還是無能為力
還需要對(duì)fiddler進(jìn)行如下設(shè)置:
點(diǎn)擊"Rules->CustomizeRules";
在這個(gè)函數(shù)OnBeforeResponse后面添加
if (oSession.oRequest["User-Agent"].indexOf("Android")> -1 && oSession.HTTPMethodIs("CONNECT")) {oSession.oResponse.headers["Connection"] = "Keep-Alive"; }
如下圖所示:
技術(shù)分享
這里的" Android"可替換為User-Agent里的其它字符,確保匹配上User-Agent就行
以下為抓包示例:
招商銀行app抓包
技術(shù)分享
支付寶app抓包
技術(shù)分享
陌陌app抓包
技術(shù)分享
注意:IOS > 10.3 https設(shè)置 設(shè)置 -> 通用 -> 關(guān)于本機(jī) -> 證書信任設(shè)置開啟對(duì)應(yīng)證書信任