上篇記錄了如何使用Fiddler進(jìn)行PC端瀏覽器的數(shù)據(jù)抓包,這次嘗試抓取手機(jī)端http和https的協(xié)議數(shù)據(jù)。
1修改Fiddler的相關(guān)配置
- 在菜單欄打開 Tools->options,并在在HTTPS標(biāo)簽頁勾選Decrypt HTTPS traffic
- 選擇...from remote clients only //可選
- Ignore server certificate errors(unsafe) //需要監(jiān)聽不可信的證書的HTTPS請求的話

Fiddler_設(shè)置.png
- 在Connections標(biāo)簽頁勾選Allow remote computers to connect

Fiddler_設(shè)置02.png
- 為了可以抓取Android客戶端使用httpURLConnection發(fā)送的數(shù)據(jù)包,需要修改Fiddler的自定義規(guī)則,打開Ruler –>CustomizeRules,進(jìn)入Fiddler ScriptEditor頁面,Ctrl+F打開搜索框輸入function OnBeforeResponse找到OnBeforeResponse方法,修改代碼
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {
oSession.oResponse.headers["Connection"] = "Keep-Alive";
}
}
- 操作如圖:

Fiddler_設(shè)置.png
- 然后在PC端本地瀏覽器中打開http://localhost:8888,點(diǎn)擊 ** FiddlerRoot certificate **下載安全證書并安裝。

Htts證書.png
2配置手機(jī)網(wǎng)絡(luò)
- 1查詢電腦局域網(wǎng)網(wǎng)絡(luò)IP地址
左下方的微軟件+R鍵打開運(yùn)行窗口,輸入cmd,打開命令行窗口,然后在命令行窗口輸入ipconfig查詢本地IP地址,如圖所示,可以知道我的本地IP為192.168.1.105

運(yùn)行界面.png

查詢本地IP.png
- 2打開手機(jī)WIFI,使手機(jī)網(wǎng)絡(luò)和PC網(wǎng)絡(luò)保持在同一個(gè)局域網(wǎng)內(nèi),然后點(diǎn)擊修改手機(jī)網(wǎng)絡(luò),選擇代理方式為手動(dòng),修改主機(jī)名為192.167.1.105;端口號(hào)為8888。注意,這里主機(jī)名要和你的剛才查詢到的主機(jī)名以及你給Fiddler設(shè)置的端口號(hào)一致。

手機(jī)網(wǎng)絡(luò)設(shè)置.png
到這里基本就實(shí)現(xiàn)了Fiddler對手機(jī)http協(xié)議數(shù)據(jù)包的抓取了。
3錯(cuò)誤信息提示
我第一次用手機(jī)app請求數(shù)據(jù),F(xiàn)iddler出現(xiàn)了creation of the root certificate was not located的錯(cuò)誤提示。
解決方案:
進(jìn)入到Fiddler的安裝目錄,例如:D:\Program Files (x86)\Fiddler2,在當(dāng)前目錄按下Shift然后點(diǎn)擊鼠標(biāo)右鍵,選擇在此處打開命令窗口,進(jìn)入命令行

錯(cuò)誤處理.png