在上篇文章《Mac OS安裝Fiddler》介紹Fiddler工作原理雕沉,以及在Mac如何安裝Fiddler。計(jì)劃在Mac OS系統(tǒng)介紹Fiddler功能使用去件,但發(fā)現(xiàn)在實(shí)操過程中用戶體驗(yàn)不夠友好坡椒,操作起來不方便。最終還是選擇在Windows系統(tǒng)演示操作尤溜。
下面講述Fiddler功能主要有Filters使用倔叼,HTTPS請(qǐng)求,AutoResponder用法宫莱,Composer用法丈攒,如何抓取App數(shù)據(jù)包。
1.查看請(qǐng)求內(nèi)容
在左側(cè)session列表選中某個(gè)會(huì)話請(qǐng)求后,點(diǎn)擊右側(cè)“Inspectors”選項(xiàng)卡巡验,可以查看該會(huì)話內(nèi)容际插,上半部分是展示請(qǐng)求內(nèi)容,下班部分是展示響應(yīng)內(nèi)容显设。如下圖所示:
2.使用Filters過濾請(qǐng)求
Fldder會(huì)抓取所有HTTP請(qǐng)求框弛,導(dǎo)致左邊窗口的session窗口不斷輸出請(qǐng)求的URL,對(duì)調(diào)試造成干擾捕捂。通過設(shè)置過濾規(guī)則瑟枫,過濾掉那些不需要的請(qǐng)求≈冈埽可以使用Filters過濾請(qǐng)求慷妙,下面說說是如何使用Filters。
-
在工具欄中勾選Filters選項(xiàng)卡幽七,在勾選左上角的Use Filters即可開啟過濾器景殷,下方Hosts設(shè)置項(xiàng)是最常用的過濾條件:Zone和Host:
Zone:指定只顯示內(nèi)網(wǎng)(Intranet)或互聯(lián)網(wǎng)(Internet)的內(nèi)容
Host:可以過濾不顯示、過濾顯示和標(biāo)記指定會(huì)話澡屡。
假如只把
www.baidu.com
請(qǐng)求顯示在會(huì)話請(qǐng)求框的話猿挚。在Host選項(xiàng)中,選中“Show only the following Hosting”驶鹉。在輸入框輸入www.baidu.com
绩蜻。-
點(diǎn)擊“Changes not yet saved”按鈕進(jìn)行保存。
點(diǎn)擊“Actions”選中“Run Filterset now”運(yùn)行室埋,就能看到過濾后的結(jié)果办绝。
3.查看HTTPS請(qǐng)求
Fiddler沒有經(jīng)過配置是無(wú)法看到https請(qǐng)求的數(shù)據(jù),如下圖所示:
幸好Fiddler可以通過偽造CA證書來欺騙瀏覽器和服務(wù)器姚淆,從而實(shí)現(xiàn)解密HTTPS數(shù)據(jù)包的目的孕蝉。解密HTTPS步驟如下:
點(diǎn)擊菜單欄Tools—> Options.
在彈出框中,選中“HTTPS”腌逢,勾選頁(yè)面的“Decrypt HTTPS Traffic”降淮,再點(diǎn)擊“Actions”選擇“Trust Root Certificate”,會(huì)彈出以下對(duì)話框搏讶。
選擇Yes安裝即可佳鳖。
再次訪問HTTPS請(qǐng)求,能看到解析過數(shù)據(jù)媒惕,如下圖所示:
4.AutoResponder用法
AutoResponder允許攔截指定規(guī)則的請(qǐng)求系吩,并返回本地資源或Fiddler資源,進(jìn)行調(diào)試功能妒蔚。
譬如生產(chǎn)環(huán)境的頁(yè)面樣式或頁(yè)面處理有問題穿挨,當(dāng)測(cè)試環(huán)境無(wú)法重新生產(chǎn)環(huán)境問題是月弛。可以利用Fiddler的AutResponder功能絮蒿,把需要修改的文件重定向的本地文件尊搬,這樣可以基于生產(chǎn)環(huán)境修改并驗(yàn)證,確認(rèn)后再發(fā)布土涝。
如果服務(wù)端提供接口和數(shù)據(jù)格式有問題佛寿,為了不影響開發(fā)進(jìn)度,前端可以繼續(xù)調(diào)用那個(gè)接口但壮,通過Fiddler將響應(yīng)內(nèi)容指定到本地?cái)?shù)據(jù)文件上冀泻。
現(xiàn)在使用博客園的找回登錄用戶名為例子。操作步驟如下:
- 在Fiddler找的https://passport.cnblogs.com的/GetUsername.apsx請(qǐng)求蜡饵。
將GetUsername.apsx文件保存到本地(如果本地已經(jīng)有文件弹渔,可以跳過該操作)。選擇文件后右擊溯祸,點(diǎn)擊“save”—〉“Response”—〉“Response Body”肢专。保存到本地。
在文件GetUsername.apsx中添加
alert('博客園')
焦辅,如下圖所示:
-
直接打開AutoReponder標(biāo)簽設(shè)置博杖,勾選一下兩個(gè)復(fù)選框,開啟Fiddler的重定向功能筷登。
- 第一個(gè)復(fù)選框的作用是開啟和禁用自動(dòng)重定向功能剃根,當(dāng)勾選后就可以添加重定向規(guī)則。
- 第二個(gè)復(fù)選框是指允許未匹配到請(qǐng)求能正常響應(yīng)前方。打勾才能讓其他的請(qǐng)求繼續(xù)狈醉;否則其他未匹配到的請(qǐng)求都會(huì)以 404狀態(tài)返回。
所以我們需要再這兩個(gè)地方打勾惠险。如下圖所示:
- 下面創(chuàng)建重定向規(guī)則苗傅,將目標(biāo)GetUsername.apsx的HTTP請(qǐng)求重定向到本地文件“喙可以通過“Add Rule"按鈕手動(dòng)添加規(guī)則≡剑現(xiàn)在URL已經(jīng)出現(xiàn)session列表中,可以直接拖動(dòng)過來趣竣。
6.接著修改規(guī)則。點(diǎn)擊下方的下拉框旱物,選擇“Find a file…”遥缕,就可以選擇本地文件作為返回內(nèi)容。選擇剛才保存GetUsername.apsx文件宵呛。
?
-
重新刷新頁(yè)面单匣,可以看到以下效果。
5.Composer用法
在Composer面板中,我們可以向服務(wù)器發(fā)送自定義請(qǐng)求户秤,可以手動(dòng)創(chuàng)建新的請(qǐng)求码秉,可以從session列表中拖拽現(xiàn)有請(qǐng)求〖牛可以在RequestBody的輸入框修改請(qǐng)求的參數(shù)转砖。
6.抓取iPhone/Android設(shè)備數(shù)據(jù)包
使用Fiddler抓取移動(dòng)端設(shè)備的數(shù)據(jù)包,其實(shí)很容易鲸伴。設(shè)置代理 府蔗,使得Fiddler獲取移動(dòng)端數(shù)據(jù)請(qǐng)求。
首先確保PC機(jī)和手機(jī)同一個(gè)局域網(wǎng)汞窗。打開Fiddler姓赤,點(diǎn)擊菜單欄中Tools—> Options。
-
勾選Connections選項(xiàng)卡中的“Allow remote computers to connect" 允許遠(yuǎn)程鏈接仲吏。
- 勾選后需要重啟Fiddler
- 默認(rèn)代理端口是8888不铆,可以不需要修改。
- 將手機(jī)端的代理設(shè)置為PC機(jī)的IP和端口(假設(shè)PC機(jī)的IP是192.168.43.5)
打開手機(jī)瀏覽器裹唆,訪問PC的地址+端口誓斥。
打開頁(yè)面中點(diǎn)擊“FiddlerRoot certificate”,下載并安裝證書品腹。
-
安裝完證書岖食,使用手機(jī)應(yīng)用進(jìn)行訪問,就可以看到截取到的數(shù)據(jù)包舞吭。使用美團(tuán)App測(cè)試訪問的效果泡垃。
現(xiàn)在介紹Fiddler常用功能,很多功能可以去探索和學(xué)習(xí)羡鸥,后面再會(huì)更新關(guān)于Fiddler文章蔑穴。