fiddler是什么 干什么的就不說(shuō)了静浴,度娘說(shuō)的很清楚了嘻嘻
fiddler沒(méi)有手機(jī)客戶端,都是安裝在PC上旁蔼,要實(shí)現(xiàn)對(duì)手機(jī)上的程序抓包磕潮,則需要對(duì)PC上的fiddler和手機(jī)端做一些配置,并滿足如下四個(gè)條件:
1).電腦需要安裝Fiddler ? 2).測(cè)試手機(jī)需要支持Wifi
3).測(cè)試手機(jī)與電腦需要同一網(wǎng)絡(luò) ?? 4).所測(cè)APP需支持代理?
一. 電腦 直接 度娘 搜索 fiddler 下載安裝即可?
二. 啟動(dòng)fiddler器紧,并按如下 步驟 進(jìn)行配置
? ? ? ? 1. 安裝HTTPS證書(shū)耀销,手機(jī)上的應(yīng)用很多涉及到個(gè)人信息,采用比較安全的HTTPS加密過(guò)铲汪,而fiddler默認(rèn)只捕獲http會(huì)話而不抓取HTTPS報(bào)文熊尉,導(dǎo)致打開(kāi)fiddler后就打不開(kāi)https網(wǎng)頁(yè)(比如百度),解決辦法:打開(kāi)Fiddler->Tool->Fiddler Options->HTTPS tab掌腰,勾選上并Capture HTTPS CONNECTs(捕獲 HTTPS 連接)和 Decrypt HTTPS traffic (HTTPS 請(qǐng)求解密)狰住,并安裝證書(shū)(首次使用無(wú)證書(shū),會(huì)彈出是否信任fiddler證書(shū)和安全提示辅斟,點(diǎn)擊yes)转晰,重啟Fiddler生效。
? ? ? ?? 2. 允許手機(jī)遠(yuǎn)程連接士飒,如果想要捕獲手機(jī)上的通信數(shù)據(jù)查邢,就需要手機(jī)連接上Fiddler代理,而Fiddler默認(rèn)是不允許其他設(shè)備進(jìn)行連接的酵幕,解決辦法:點(diǎn)擊 Fiddler->Tools -> Options扰藕,在 Connections 面板選中 Allow remote computers to connect 允許其他設(shè)備連接(重啟生效)。
三. 手機(jī)端添加代理
需要在移動(dòng)終端(手機(jī)或pad)上指定代理服務(wù)器為Fiddler所在主機(jī)IP(需要處于同一網(wǎng)絡(luò))芳撒,端口默認(rèn)8888(步驟 2.2 截圖 上面顯示的有 端口信息 )邓深。
1. 接入網(wǎng)絡(luò),要保證手機(jī)和安裝有fiddler的電腦處在同一局域網(wǎng)內(nèi)笔刹,手機(jī)能ping通電腦芥备。然后 CMD 命令 獲取電腦 IP地址,打開(kāi)手機(jī) WLAN設(shè)置 找到【當(dāng)前連接的 wifi 名稱】舌菜,點(diǎn)擊詳情進(jìn)入 詳情頁(yè)面萌壳,找到? 【代理】 設(shè)置為手動(dòng),這時(shí)在代理 下面 出現(xiàn)兩個(gè) 子欄目 主機(jī)名和端口(主機(jī)名就填寫 獲取的 電腦IP 地址日月,端口 設(shè)置為 8888)
四. 手機(jī)安裝根證書(shū)袱瓮,在手機(jī)上需要安裝Fiddler根證書(shū),因?yàn)镕iddler是通過(guò)自己生成的證書(shū)對(duì)網(wǎng)絡(luò)請(qǐng)求重新簽名進(jìn)行https會(huì)話解密的爱咬,如果不安裝證書(shū)的話只能抓取HTTP請(qǐng)求尺借。
? ? ? ? 手機(jī)和電腦連接同一個(gè)網(wǎng)絡(luò),打開(kāi)手機(jī)瀏覽器精拟,輸入Fiddler Server地址http://ipv4.fiddler:8888/(因?yàn)閒iddler裝在PC上燎斩,所以Fiddler Server地址就是PC的IP地址虱歪,帶上端口號(hào)8888,我的是http://192.168.1.106:8888/)瘫里, 跳轉(zhuǎn)到 Fiddler Echo Service 證書(shū)下載頁(yè)实蔽,點(diǎn)擊FiddlerRoot certificate下載并安裝;
五. fiddler抓包手機(jī)添加代理后連不上網(wǎng)解決辦法:
? ? ? ? (1)打開(kāi)注冊(cè)表(cmd-regedit)谨读,在HKEY_CURRENT_USER\Software\Microsoft\Fiddler2下創(chuàng)建一個(gè)DWORD局装,值置為80(十進(jìn)制)
(2) 編寫FiddlerScript rule,點(diǎn)擊Rules > Customize Rules,用ctr+f查找到OnBeforeRequest方法添加一行代碼
if (oSession.host.toLowerCase() == "webserver:8888"){oSession.host = "webserver:80"; }
設(shè)置完之后重啟Fiddler即可劳殖。
其他方法:關(guān)閉電腦防火墻(沒(méi)有嘗試)
六铐尚、針對(duì)無(wú)法直接通過(guò)代理抓包處理,可以借鑒?APP無(wú)法代理抓包的原因及解決方法(flutter 抓包)親測(cè)可用