一款Web調(diào)試代理工具:Fiddler
前言
在移動(dòng)軟件開(kāi)發(fā)工作中,我們經(jīng)常需要對(duì)APP軟件進(jìn)行調(diào)試及問(wèn)題定位。
在我們檢查定位問(wèn)題的時(shí)候,很多情況下需要查看接口的請(qǐng)求情況,當(dāng)我們沒(méi)有在調(diào)試模式的情況下,如何才能有效快捷的得到各個(gè)接口的請(qǐng)求情況呢?
這個(gè)時(shí)候,我們就需要用到網(wǎng)絡(luò)代理工具來(lái)監(jiān)控接口請(qǐng)求。
今天分享一款常用的Web調(diào)試代理工具:Fiddler。

簡(jiǎn)介
Fiddler 是一款Web調(diào)試代理工具,用于記錄計(jì)算機(jī)和Internet之間的所有HTTP(S)通信。檢查流量,設(shè)置斷點(diǎn),并編輯操作請(qǐng)求/響應(yīng)。
Fiddler Web調(diào)試器可以記錄,檢查和調(diào)試來(lái)自任何瀏覽器的流量。
Fiddler Web調(diào)試器可以從任何基于Windows的PC,Mac或Linux系統(tǒng)以及移動(dòng)設(shè)備上調(diào)試Web流量。
功能介紹
- 網(wǎng)頁(yè)調(diào)試:可以解密和解壓縮Web會(huì)話,可以分析會(huì)話數(shù)據(jù)。

- Web會(huì)話操作
模擬原始HTTP流量:Fiddler的自動(dòng)響應(yīng)器是一項(xiàng)高級(jí)功能,可以讓W(xué)eb調(diào)試代理代表Web服務(wù)器進(jìn)行響應(yīng)。自動(dòng)響應(yīng)程序允許創(chuàng)建規(guī)則,這個(gè)規(guī)則將通過(guò)返回先前捕獲的響應(yīng)而不會(huì)去請(qǐng)求服務(wù)器,從而自動(dòng)返回對(duì)請(qǐng)求的響應(yīng)。

構(gòu)建HTTP請(qǐng)求:使用Fiddler Web調(diào)試器,可以手動(dòng)構(gòu)建和發(fā)送HTTP,HTTPS和FTP請(qǐng)求?;蛘撸梢赃x擇通過(guò)拖放將會(huì)話從Web會(huì)話列表克隆到Composer選項(xiàng)卡。單擊執(zhí)行按鈕將請(qǐng)求發(fā)送到服務(wù)器。

設(shè)置斷點(diǎn):通過(guò)在每個(gè)請(qǐng)求或響應(yīng)之后/之前設(shè)置斷點(diǎn)或添加自定義的斷點(diǎn)來(lái)修改會(huì)話。
也可以使用quick exec框?yàn)橛龅教囟║RL的情況創(chuàng)建簡(jiǎn)單的斷點(diǎn)。然后,F(xiàn)iddler會(huì)暫停會(huì)話的處理,并允許手動(dòng)更改請(qǐng)求和響應(yīng)。還可以選擇將自動(dòng)返回的響應(yīng)。

- HTTP/HTTPS流量記錄
過(guò)濾捕獲的流量:Fiddler支持各種過(guò)濾器,例如“隱藏會(huì)話”,“突出有趣的流量”,“在會(huì)話上進(jìn)行操作的斷點(diǎn)”,“阻止流量發(fā)送”等,可以節(jié)省大量時(shí)間和精力。

捕獲所有HTTP流量:Fiddler可以捕獲所有本地運(yùn)行進(jìn)程的HTTP流量,和進(jìn)過(guò)Fiddler代理的所有HTTP流量。

- 安全測(cè)試
Fiddler安全性附加組件:Fiddler 提供一些安全測(cè)試組件,如 Watcher –由Casaba安全團(tuán)隊(duì)開(kāi)發(fā),Watcher觀察瀏覽器與您網(wǎng)站的交互;x5s ;intruder21 ;Ammonite 等。
自動(dòng)執(zhí)行SSL解密:可以設(shè)置不同情況的HTTP請(qǐng)求和響應(yīng)的解密。

- 性能測(cè)試
HTTP請(qǐng)求Timeline:Fiddler的時(shí)間軸顯示每個(gè)選定會(huì)話的開(kāi)始時(shí)間和持續(xù)時(shí)間-一目了然地了解應(yīng)用程序如何使用網(wǎng)絡(luò)??梢栽?到250個(gè)選定的會(huì)話之間查看“瀑布圖”,這對(duì)于性能分析和理解請(qǐng)求之間的關(guān)系都非常有用??梢暂p松識(shí)別緩慢的請(qǐng)求(長(zhǎng)條形),由于連接限制而導(dǎo)致請(qǐng)求被阻塞的瓶頸(請(qǐng)求的階梯組),以及不必要地關(guān)閉連接的情況(紅色X圖標(biāo))。

分析Web應(yīng)用程序的性能:查看Fiddler的“統(tǒng)計(jì)信息”標(biāo)簽,可以了解應(yīng)用程序的整體性能指標(biāo)??梢赃x擇所有會(huì)話以查看按內(nèi)容類型或餅狀圖細(xì)分的請(qǐng)求總數(shù)和發(fā)送和接收的字節(jié)數(shù)等綜合統(tǒng)計(jì)數(shù)據(jù)。

- 請(qǐng)求和響應(yīng)模擬:在任何網(wǎng)站上模擬或修改請(qǐng)求和響應(yīng)。這是一種無(wú)需更改代碼即可更改測(cè)試網(wǎng)站的請(qǐng)求和響應(yīng)的便捷方法。
最后
基于以上介紹的功能,我們?cè)谡{(diào)試APP接口請(qǐng)求或Web接口時(shí),都可以使用 Fiddler 作為代理來(lái)分析Http請(qǐng)求詳細(xì)信息。
Fiddler還可以可控制網(wǎng)絡(luò)請(qǐng)求速度,因此可以模擬弱網(wǎng)環(huán)境下的接口和頁(yè)面響應(yīng)情況。
好了,重要的一點(diǎn)是,F(xiàn)iddler是免費(fèi)的,我們可以隨意使用,感興趣的小伙伴可以自行體驗(yàn)發(fā)掘。