轉(zhuǎn)帖|行業(yè)資訊|編輯:龔雪|2016-05-31 15:08:36.000|閱讀 1121 次
概述:Fiddler是微軟推出的一款很強(qiáng)大很好用的web調(diào)試工具。本文將主要介紹Fiddler在抓取移動終端數(shù)據(jù)包方面的應(yīng)用。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Fiddler是微軟推出的一款很強(qiáng)大很好用的web調(diào)試工具。它能記錄所有客戶端和服務(wù)器的HTTP和HTTPS請求,允許監(jiān)視,設(shè)置斷點(diǎn),甚至修改輸入輸出數(shù)據(jù)。
Fiddler還包含了一個(gè)強(qiáng)大的基于事件腳本的子系統(tǒng),并且能使用.net語言進(jìn)行擴(kuò)展。
本文將主要介紹Fiddler在抓取移動終端數(shù)據(jù)包方面的應(yīng)用。 關(guān)于Fiddler工具的介紹,點(diǎn)擊這里。
網(wǎng)頁抓取、測試工具iMacros
與另一款常用的手機(jī)端抓包工具Wireshark相比,F(xiàn)iddler有很多類似的地方。譬如:適用于各種有wifi功能的終端(手機(jī)、平板等),且設(shè)備均無需root或越獄;均使用PC端來獲取和展示所抓的數(shù)據(jù)包。不同之處在于,Wireshark是通過使被測終端連接作為wifi熱點(diǎn)的PC無線網(wǎng)絡(luò)來抓取數(shù)據(jù)包,而Fiddler是通過將PC與被測終端置于同一局域網(wǎng)(通常是同一個(gè)無線網(wǎng)絡(luò))下并設(shè)置被測終端網(wǎng)絡(luò)代理來抓取數(shù)據(jù)包。
相較于Wireshark,F(xiàn)iddler的優(yōu)勢在于可以攔截發(fā)出或者收到的HTTP/HTTPS包,并可以修改其Request和Response數(shù)據(jù)。然而,F(xiàn)iddler的局限性也非常明顯,它只能用于抓取HTTP和HTTPS包,而不能抓取其他類型的網(wǎng)絡(luò)包。
Fiddler是以代理web服務(wù)器的形式工作的。
從上圖可以看出,F(xiàn)iddler使用代理方式,讓客戶端所有數(shù)據(jù)流都發(fā)給它,然后轉(zhuǎn)發(fā)給目標(biāo)server,目標(biāo)server的回包發(fā)給Fiddler,再由Fiddler轉(zhuǎn)發(fā)給客戶端。所以不管是Request還是Respone數(shù)據(jù)包都經(jīng)過了Fiddler,F(xiàn)iddler能進(jìn)行截獲和分析。正是它這樣架構(gòu)優(yōu)勢,才有其他工具無法做到的強(qiáng)大功能,只要是支持HTTP代理配置的終端,均支持抓包。
Fiddler工作于OSI七層網(wǎng)絡(luò)模型中的應(yīng)用層,使用代理地址:127.0.0.1, 端口:8888。當(dāng)啟動Fiddler時(shí)會自動設(shè)置代理, 退出的時(shí)候它會自動注銷代理,這樣就不會影響別的程序。不過如果Fiddler非正常退出,這時(shí)候因?yàn)镕iddler沒有自動注銷,會造成網(wǎng)頁無法訪問。解決的辦法是重新啟動下Fiddler。
首先,需要確保安裝Fiddler的電腦與待抓包手機(jī)在同一局域網(wǎng)內(nèi)(通常是連同一個(gè)wifi),因?yàn)橐獙⑹謾C(jī)的代理指向PC端,不能互相訪問是不行的。
使用Fiddler抓取手機(jī)端數(shù)據(jù)包的步驟如下:
1) Fiddler開啟遠(yuǎn)程連接。Fiddler主菜單-->Tools-->Fiddler Options-->Connections Tab頁,勾選Allow remote computers to connect
2) 重啟Fiddler
3) 獲取PC的IP地址
4) 設(shè)置手機(jī)代理,指向PC的IP地址,端口號填Fiddler默認(rèn)的8888,保存即完成了代理的設(shè)置,此時(shí)就可以用Fiddler去抓取手機(jī)端的HTTP數(shù)據(jù)包了 。
Fiddler界面布局如下:
Inspectors tab下有很多查看Request或Response的消息。其中Raw Tab可以查看完整消息,Headers Tab只查看消息中的Header。
設(shè)置斷點(diǎn)修改Request
設(shè)置斷點(diǎn)有如下兩種方法:
方法一:
這種方法缺點(diǎn)在于會中斷所有的會話。
其取消方法為:Rules-->Automatic Breakpoints-->Disabled。
方法二:
其取消方法為:命令行輸入bpu。
設(shè)置斷點(diǎn)修改Response
設(shè)置斷點(diǎn)的方法也有兩種:
方法一:
這種方法的缺點(diǎn)在于會中斷所有的會話。
其取消方法為:Rules-->Automatic Breakpoints-->Disabled
方法二:
其取消方法為:命令行輸入bpafter。
會話比較功能
選中2個(gè)會話,右鍵點(diǎn)擊Compare,可以用WinDiff來比較兩個(gè)會話的不同。
查詢會話功能
快捷鍵CTRL+F打開Find Sessions對話框,輸入關(guān)鍵字進(jìn)行查詢。
還可以使用顏色來標(biāo)識查詢到的會話。
保存會話功能
選擇想要保存的會話,右鍵save-->Selected Sessions。
解碼功能
某些Response中的HTML是亂碼的,這一方面可能是因?yàn)镠TML被加密了,我們可以通過如下方法進(jìn)行解碼:
腳本配置功能
Fiddler包含了一個(gè)腳本文件可以自動修改HTTP Request和Response。這樣我們就不需要手動地下"斷點(diǎn)"去修改了。
實(shí)際上它是一個(gè)腳本文件CustomRules.js,位于: C:\Users\[your user]\My Documents\Fiddler2\Scripts\CustomRules.js下。你也可以在Fiddler中打開CustomRules.js 文件,啟動Fiddler,點(diǎn)擊菜單Rules->Customize Rules。
Fiddler Script的官方幫助文檔必須認(rèn)真閱讀,地址點(diǎn)擊這里。
Fiddler可以截獲各種移動終端發(fā)出的HTTP/HTTPS請求,還能截獲各種瀏覽器發(fā)出的HTTP/HTTPS請求。具有功能強(qiáng)大,完全免費(fèi),適用于所有的平臺,且適用于所有 的瀏覽器等優(yōu)點(diǎn),是一款強(qiáng)大實(shí)用且好用的抓包工具。
原文轉(zhuǎn)載自:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn