? ? ? Fiddler是一款強(qiáng)大的抓包工具,主要是原理是通過代理獲取前端到后端整個(gè)請(qǐng)求過程中的請(qǐng)求數(shù)據(jù)和響應(yīng)數(shù)據(jù)。使用fiddler前需要下載fiddler安裝包迷捧,使用fiddler抓包前注意提前下載并安裝證書到對(duì)應(yīng)的瀏覽器或安卓手機(jī)平臺(tái)。
本文以各類實(shí)站操作加上圖文的方式極速入門fiddler胀葱。
? ? 一:常用功能
1党涕、頁面介紹下圖把頁面分為四塊:黃色區(qū)域:為菜單及工具區(qū)域;紅色部分:為session會(huì)話區(qū)域巡社;藍(lán)色部分為:請(qǐng)求查看區(qū)域膛堤;綠色部分為:響應(yīng)查看區(qū)域;
①菜單及工具區(qū)域:菜單主要有捕獲請(qǐng)求晌该,保存請(qǐng)求肥荔,載入本地session,設(shè)置捕獲規(guī)則等菜單內(nèi)容绿渣;
工具主要是當(dāng)前session的一系列操作,如eplay再次請(qǐng)求燕耿,
②session會(huì)話區(qū)域:改區(qū)域會(huì)對(duì)抓取的請(qǐng)求從1開始自上而下開始排序中符。主要包括響應(yīng)狀態(tài)碼result,
請(qǐng)求協(xié)議protocol,請(qǐng)求域名(Domain name) Host,URL資源路徑和GET參數(shù)誉帅,BODY請(qǐng)求大小以字節(jié)計(jì)算淀散,caching是否緩存及緩存有效時(shí)間,content/type請(qǐng)求及響應(yīng)的格式蚜锨,process進(jìn)程內(nèi)容及格式档插,comments,可自定義session備注,custom可自定義腳本中的值
③請(qǐng)求查看區(qū)域:在inspectors中亚再,可通過多種方式查看請(qǐng)求報(bào)文信息郭膛。主要有Headers,webForm,cookie,Auth氛悬,Raw,Json,XML
④響應(yīng)查看區(qū)域:在inspectors中则剃,和請(qǐng)求查看區(qū)域類似。
2如捅、過濾功能:過濾是很強(qiáng)大的功能棍现,可以過濾掉不需要的http請(qǐng)求,也可以過濾掉不需要的url格式如css,image,html,還可以過濾請(qǐng)求報(bào)文大于或者小于指定大芯登病(byte)的請(qǐng)求轴咱。
3、抓取功能:HOst中發(fā)現(xiàn)不只有一個(gè)子域名烈涮,這個(gè)其實(shí)說明在很多網(wǎng)站的架構(gòu)中,大多需要多個(gè)子域名處理不同的功能窖剑,如緩存靜態(tài)資源需要子域名坚洽,媒體資源也需要子域名,數(shù)據(jù)統(tǒng)計(jì)也需要子域名西土。
4讶舰、保存功能:鼠標(biāo)右擊session,點(diǎn)擊save可以保存單條或者所有請(qǐng)求報(bào)文request或者響應(yīng)報(bào)文response需了。如圖保存了抓取的所有請(qǐng)求報(bào)文跳昼。在發(fā)現(xiàn)有可疑的請(qǐng)求情況下。通過保存功能然后分析報(bào)文是很重要的肋乍。
5鹅颊、#標(biāo)識(shí)的意思:每個(gè)標(biāo)識(shí)表示的請(qǐng)求類型都不同。
二:其他功能
1墓造、查看性能數(shù)據(jù):statistics中可以查看某個(gè)HTTP請(qǐng)求的性能相關(guān)數(shù)據(jù)分析堪伍。如DNS解析時(shí)間锚烦,TCP/IP消耗時(shí)間,其中overall Elapsed表示是從前端發(fā)送請(qǐng)求報(bào)文到后端返回響應(yīng)報(bào)文的總時(shí)長(zhǎng)帝雇。圖示為0:00:00.28秒涮俄。
2、重復(fù)發(fā)送某個(gè)請(qǐng)求:如圖抓取到評(píng)論接口后點(diǎn)擊Replay完成第二次評(píng)論尸闸。
3彻亲、Insepectors內(nèi)容:Textview可以查看響應(yīng)報(bào)文中的HTML/css/js內(nèi)容,Raw中是原始HTTP請(qǐng)求頭和響應(yīng)頭吮廉,Auth中包含授權(quán)Proxy-Authorization 和 Authorization的相關(guān)信息苞尝,cookie則包含請(qǐng)求cookie和響應(yīng)set-cookie內(nèi)容。
4茧痕、ASutoresponder:強(qiáng)大的功能之一野来。攔包后重定向至本地資源路徑,操作步驟如圖:該接口被重定向至本地資源后對(duì)比踪旷。關(guān)于ASutoresponder的詳細(xì)使用可以參考官方文檔
除了find a file支持重定向至本地資源外曼氛,F(xiàn)iddler內(nèi)部還提供內(nèi)置的多種重定向資源(下圖紅框內(nèi)),如需要修改服務(wù)器的腳本文件令野,可以先攔截該腳本文件到本地舀患,修改后調(diào)試沒問題的情況下再到服務(wù)器修改腳本內(nèi)容。從而保證了再真實(shí)環(huán)境下的測(cè)試減少bug的可能性气破。
5聊浅、composer:此功能可以對(duì)抓取的包修改后請(qǐng)求。操作步驟在paras中修改accept, host, referrer, cookie现使,cache-control信息或者在Raw中構(gòu)建請(qǐng)求體低匙,操作步驟如下圖。(提醒:禁止使用此功能侵害任何安全道德weifa行為碳锈。如使用本文概不負(fù)責(zé))
6顽冶、Fitter中的client process:該功能可以選定某個(gè)進(jìn)程,session框只抓取該進(jìn)程的接口售碳。一般用于對(duì)單一應(yīng)用的請(qǐng)求進(jìn)行調(diào)試時(shí)使用强重。如圖所示以某筆記應(yīng)用為例。Fitter中的Hosts:該功能可以過濾選擇需要的Hos域名贸人。如下圖二www.feizui.com只會(huì)匹配到對(duì)應(yīng)的host請(qǐng)求间景。
7、命令框:支持輸入內(nèi)置命令艺智。
命令一:select 文件格式后綴 :選中所有該文件倘要,如下圖一select html選中所有HTTP的Html請(qǐng)求;命令二:十拣?任意字符: 選中該字符匹配到的url請(qǐng)求的所有HTTP碗誉,如圖二輸入命令?ds.js召嘶;
命令三:>size或<size:選中字節(jié)(body字段,以d為單位)的所有HTTP請(qǐng)求,如圖三輸入>31;
命令四:= status:如圖四=200為選出所有狀態(tài)碼為200的HTTP哮缺,HTTPs請(qǐng)求弄跌;
命令五:@HOST:選中所有該HOST后綴的請(qǐng)求,如圖五@baidu.com選出對(duì)應(yīng)的請(qǐng)求尝苇。
8铛只、斷點(diǎn)調(diào)試:以一個(gè)web本地項(xiàng)目為例,打開后設(shè)置響應(yīng)后斷點(diǎn)糠溜,可以通過bpu localhost淳玩、菜單欄Rules after response breakpoint設(shè)置,此時(shí)如圖二已經(jīng)顯示該接口已被掛起來了非竿,點(diǎn)擊TextView,輸入修改的響應(yīng)內(nèi)容蜕着,點(diǎn)擊run to compeltion .回到瀏覽器,輸入url后返回設(shè)置的頁面红柱。如下多圖顯示承匣。取消斷點(diǎn):輸入go即可。
關(guān)于Fiddler的相關(guān)功能非常強(qiáng)大锤悄,深入FIddler需要更多的學(xué)習(xí)和努力韧骗,F(xiàn)iddler不是一個(gè)“簡(jiǎn)單”的抓包工具。