Fiddler 從入門到深入

在開(kāi)發(fā)的過(guò)程中使用過(guò)不少的HTTP網(wǎng)絡(luò)抓包工具,研究過(guò)HTTPAnalyzer,HttpWatch枚碗,感覺(jué)都很不錯(cuò)。

記不清什么時(shí)候自己搜了一個(gè)工具剔猿,它就是Fiddler视译,自從使用了Fiddler之后,我越來(lái)越喜歡它了」榫矗現(xiàn)在基本上不再使用其它的

抓包工具了酷含。因?yàn)槲野l(fā)現(xiàn),F(xiàn)iddler實(shí)在是太強(qiáng)大了汪茧,它幾乎囊括了大部分的抓包請(qǐng)求椅亚,當(dāng)然最給力的還是它 的斷點(diǎn)調(diào)試功能,

尤其還有使用本地文件代替服務(wù)器文件這個(gè)實(shí)用的功能舱污,這樣程序員就不要每次出問(wèn)題修改服務(wù)器文件了呀舔,因?yàn)榉?wù)器文件一般不會(huì)讓人輕易修改

,再者也許程序員沒(méi)有權(quán)限修改扩灯,這個(gè)功能超贊媚赖!

之后,我上了Fiddler的官網(wǎng)之后珠插,找到了它上面的幾個(gè)Demo的小教程惧磺,更加確定我的想法了。以后就是它了捻撑,F(xiàn)iddler磨隘!

Demo地址為:http://www.fiddler2.com/Fiddler/help/video/default.asp

國(guó)內(nèi)的程序員是不少缤底,但是國(guó)內(nèi)的程序員最大的悲劇不是知識(shí)面不夠,更不是不聰明番捂。我感覺(jué)國(guó)內(nèi)的程序員最大的悲劇就是英語(yǔ)不好个唧。

哎,誰(shuí)讓計(jì)算機(jī)是外國(guó)人發(fā)明的呢设预,沒(méi)辦法徙歼,那我們只好學(xué)好英語(yǔ)了。

鑒于Fiddler這個(gè)好工具太強(qiáng)大了鳖枕,我有個(gè)想法鲁沥,想把它推薦給我們國(guó)內(nèi)的程序員們,所以我決定有時(shí)間就翻譯一下Fiddler的使用教程耕魄,

首先聲明:我翻譯的水平肯定跟我的技術(shù)知識(shí)和能力有關(guān)画恰,希望大家能夠理解,這個(gè)教程主要是我翻譯的吸奴,不是我自己寫的允扇。

今天讓我們開(kāi)始吧。

原文地址:http://www.fiddler2.com/Fiddler/help/ui.asp

Fiddler用戶界面:

下面這個(gè)界面截取的是我自己的Fiddler则奥。

Web 會(huì)話列表考润。

就是指上面左側(cè)的內(nèi)容部分。

Web會(huì)話列表包括了所有的從你的電腦發(fā)出的HTTP請(qǐng)求读处。為了自己的使用方便糊治,你可以自己調(diào)整會(huì)話列表的內(nèi)容,你也可以單擊列表的頂部來(lái)對(duì)會(huì)話列表來(lái)排序罚舱。

會(huì)話列表頂部包含的信息有以下內(nèi)容:

#- 為了使用方便井辜,F(xiàn)iddler 為你生成的會(huì)話列表的ID

Result-?HTTP響應(yīng)的狀態(tài)碼Learn more...

Protocol- 本次會(huì)話使用的協(xié)議類型(HTTP/HTTPS/FTP)

Host- 發(fā)送本次請(qǐng)求的主機(jī)名

URL- 本次請(qǐng)求的路徑和具體文件名

Body-?響應(yīng)返回內(nèi)容的大小

Caching-是否使用了緩存

Process- 發(fā)送本次請(qǐng)求的程序進(jìn)程的名字

Content-Type-?響應(yīng)的響應(yīng)頭的 Content-Type 值

Custom- 通過(guò)腳本設(shè)置的文本域.Learn more...

Comments -通過(guò)腳本或者在會(huì)話列表中右鍵添加的注釋。

在Fiddler v2.2.0.5 及其以上的版本管闷,你可以添加自己的新列粥脚。

在會(huì)話列表中默認(rèn)的文本的顏色從HTTP的響應(yīng)的狀態(tài)繼承而來(lái)(紅色代表錯(cuò)誤,黃色代表需要授權(quán))CONNECT類型為灰色包个,

還有返回類型(CSS文件為紫色刷允,HTML文件為藍(lán)色,JS腳本為綠色碧囊,圖片為灰色)你可以通過(guò)使用ui-color標(biāo)志位來(lái)改變和重寫列表的默認(rèn)顏色树灶。

(提示:ui-color在Fiddler的腳本配置文件中天通,需要安裝FiddlerScript

為了查看的方便每一個(gè)請(qǐng)求的前面都有一個(gè)圖標(biāo)來(lái)表示土砂。

上面的圖標(biāo)后面的英文的意思依次為:

1.請(qǐng)求正在被發(fā)往服務(wù)器

2.正在從服務(wù)器接收請(qǐng)求內(nèi)容

3.請(qǐng)求被一個(gè)斷點(diǎn)停住了萝映。

4.響應(yīng)被一個(gè)斷點(diǎn)停住了。

5.請(qǐng)求使用HEAD方法奥秆,響應(yīng)應(yīng)該沒(méi)有響應(yīng)體构订。

6.請(qǐng)求使用POST方法

7.請(qǐng)求使用了HTTPS

8.返回內(nèi)容為HTML頁(yè)面

9.返回內(nèi)容為JS腳本

10.返回內(nèi)容為CSS

11.返回內(nèi)容為XML文件

12.返回內(nèi)容為JSON文件

13.返回內(nèi)容為音頻文件

14.返回內(nèi)容為視頻文件

15.返回內(nèi)容為Silverlight

16.返回內(nèi)容為Flash

17.返回內(nèi)容為字體文件

18.一般成功的響應(yīng)

19.響應(yīng)被重定向了,通過(guò)HTTP/300,301,302,303 or 307

20.HTTP 304 請(qǐng)求

21.返回一個(gè)需要客戶端證書驗(yàn)證的請(qǐng)求

22.服務(wù)器端錯(cuò)誤

23.會(huì)話被客戶端亥宿、Fiddler砂沛、服務(wù)器意外終止碍庵。

和會(huì)話列表的交互

在一個(gè)或者多個(gè)會(huì)話上面單擊右鍵會(huì)出現(xiàn)下面的菜單

小提示:你可以通過(guò)在FiddlerScript中使用ContextAction標(biāo)志為這個(gè)菜單添加菜單項(xiàng)。

在“復(fù)制”菜單上面有以下內(nèi)容:

Session- 以純文本和HTML語(yǔ)法加亮形式復(fù)制原始的請(qǐng)求內(nèi)容到剪貼板卑吭。

Just URL-?僅僅復(fù)制主機(jī)名和URL地址

Headers Only -以純文本和HTML語(yǔ)法加亮形式復(fù)制請(qǐng)求頭和響應(yīng)頭到剪貼板豆赏。

Full Summary -為了粘貼到Excel中方便掷邦,以純文本和HTML語(yǔ)法加亮形式把請(qǐng)求的各個(gè)列的信息復(fù)制到剪貼板抚岗。

Terse Summary -復(fù)制請(qǐng)求地址和響應(yīng)狀態(tài)到剪貼板向抢。

在“保存”菜單上面有以下內(nèi)容:

Session > In ArchiveZIP- 把相關(guān)的請(qǐng)求內(nèi)容打包為一個(gè) .SAZ 文件.

Session- 把請(qǐng)求和響應(yīng)的所有內(nèi)容存為一個(gè)文本文件

Headers Only -把請(qǐng)求頭和響應(yīng)頭存為一個(gè)文本文件

Full Request -把請(qǐng)求的所有內(nèi)容存為一個(gè)文本文件

Request Body- 把請(qǐng)求體存為一個(gè)文本文件,通常是POST的數(shù)據(jù)包艘希。

Full Response -把響應(yīng)的所有內(nèi)容存為一個(gè)文本文件

Response Body -把響應(yīng)體存為一個(gè)文件覆享,通常是HTML文件或者圖片撒顿。

AutoResponder 快速引用

今天我們來(lái)看一下Fiddler的AutoResponder選項(xiàng)卡的強(qiáng)大功能。

Fiddler的AutoResponder 選項(xiàng)卡允許你使用本地硬盤的文件來(lái)作為返回內(nèi)容荚板,而不是把請(qǐng)求發(fā)往服務(wù)器。

創(chuàng)建AutoResponder 規(guī)則啸驯。

使用AutoResponder選項(xiàng)卡,你可以創(chuàng)建一個(gè)匹配規(guī)則和一個(gè)響應(yīng)字符串罚斗,如果請(qǐng)求的URL地址跟你的匹配規(guī)則相匹配,

Fiddler就會(huì)自動(dòng)執(zhí)行這個(gè)對(duì)應(yīng)的響應(yīng)字符串针姿。

小提示:

匹配規(guī)則會(huì)按照它在規(guī)則列表中出現(xiàn)的順序進(jìn)行匹配袱吆,?按+鍵可以使一個(gè)匹配規(guī)則向上移一項(xiàng)距淫,按-鍵可以使一個(gè)匹配規(guī)則向下移一項(xiàng)。

使用右鍵菜單, 你可以導(dǎo)出一個(gè)包含了所有的匹配規(guī)則和對(duì)應(yīng)響應(yīng)字符串的后綴為.FARX 的文件蓬衡。

你也可以通過(guò)導(dǎo)入? .SAZor.FARX文件來(lái)創(chuàng)建基于以前創(chuàng)建的規(guī)則列表和響應(yīng)列表.

你可以從會(huì)話列表中拖動(dòng)一個(gè)會(huì)話到AutoResponder選項(xiàng)卡中來(lái)重新演示以前的響應(yīng). 你也可以選中一條規(guī)則缴啡,然后回車這樣就可以來(lái)編輯一條規(guī)則壁晒。

你也可以直接從Windows的資源管理器中拖動(dòng)一個(gè)文件到?AutoResponder選項(xiàng)卡中來(lái)為這些文件創(chuàng)建規(guī)則和響應(yīng)谬晕。

匹配規(guī)則:

純粹字符串

Fiddler將會(huì)按照不區(qū)分字母大小寫來(lái)匹配字符串。

Demo如下:

RuleMatches

*http://www.example.com/Path1/query=example

EXAMPLEhttp://www.example.com/Path1/query=example

path1/http://www.example.com/Path1/query=example

queryhttp://www.example.com/Path1/q=Query

跟上面的類似携取,F(xiàn)iddler還有一個(gè)非字符串匹配的規(guī)則:NOT:

Demo如下:下面的都匹配攒钳。

RuleMatches

NOT:EXAMPLEhttp://www.test.com/Path1/query=test

NOT:path1/http://www.example.com/Path2/query=example

NOT:queryhttp://www.example.com/Path1/q

Exact匹配:

表達(dá)式以EXACT:為前綴,此匹配區(qū)分字母大小寫

Demo如下:

RuleMatches

EXACT:http://www.example.com/pathhttp://www.example.com/path

EXACT:http://www.example.com/pathhttp://www.example.com/Path(不匹配- 大小寫不一樣)

EXACT:http://www.example.com/pathhttp://www.example.com/path/q=Query(不匹配- 子字符串不一樣)

正則表達(dá)式:

Fiddler支持以regex:為前綴的正則表達(dá)式語(yǔ)法歹茶,使用.+匹配一個(gè)或多個(gè)字符,使用.*匹配0個(gè)或多個(gè)字符你弦,使用^匹配字符串開(kāi)始位置惊豺,使用$匹配字符串結(jié)尾位置。

Demo如下:

RuleMatches

regex:.+http://www.example.com/Path1/query=example

regex:.+\.jpg.*http://www.example.com/Path1/query=foo.jpg&bar

http://www.example.com/Path1/query=example.jpg

regex:.+\.jpg$http://www.example.com/Path1/query=foo.jpg&bar (No Match - improper ending)

http://www.example.com/Path1/query=example.jpg

regex:.+\.(jpg|gif|bmp)$http://www.example.com/Path1/query=foo.bmp&bar (No Match? - improper ending)

http://www.example.com/Path1/query=example.gif

http://www.example.com/Path1/query=example.Gif(No Match - mismatched case)

http://www.example.com/Path1/query=example.bmp

regex:(?insx).+\.(jpg|gif|bmp)$http://www.example.com/Path1/query=foo.bmp&bar (No Match - improper ending)

http://www.example.com/Path1/query=example.gif

http://www.example.com/Path1/query=example.Gif

http://www.example.com/Path1/query=example.bmp

想要學(xué)習(xí)更多正則表達(dá)式的請(qǐng)看這里here.

響應(yīng)字符串

除了簡(jiǎn)單的返回文件禽作,AutoResponder選項(xiàng)卡還有更多的用處........

Beyond simply returning files, the AutoResponder can also perform special actions...

Action StringResult...

filename返回文件內(nèi)容作為消息響應(yīng)

http://targetURL返回此URL的內(nèi)容作為消息響應(yīng)

*redir:http://targetURL返回一個(gè)跳轉(zhuǎn)URL尸昧,注意,不是一般的URL旷偿,一定要確保此URL知道要到哪里去烹俗,以便攜帶上相關(guān)的Cookie信息。

*bpu設(shè)置一個(gè)斷點(diǎn)在發(fā)往服務(wù)器以前停住此請(qǐng)求Non-final action.

*bpafter設(shè)置一個(gè)斷點(diǎn)在接收響應(yīng)之前停住此請(qǐng)求Non-final action.

*delay:####設(shè)置在發(fā)給服務(wù)器之前的延時(shí)萍程,以毫秒為單位幢妄。Non-final action.

*header:Name=Value設(shè)置請(qǐng)求頭的內(nèi)容,如果沒(méi)有那個(gè)請(qǐng)求頭茫负,則新建一個(gè)請(qǐng)求頭Name并設(shè)置為ValueNon-final action.

*flag:Name=Value設(shè)置Session Flag的內(nèi)容蕉鸳,如果沒(méi)有那個(gè)Session Flag,則新建一個(gè)Session FlagName并設(shè)置為ValueNon-final action.

*CORSPreflightAllow返回一個(gè)響應(yīng)標(biāo)志CORS是否被允許忍法。.

*reset使用一個(gè)TCP/IP RST 重新設(shè)置客戶端的鏈接潮尝。

*drop馬上關(guān)閉客戶端鏈接。

*exit這時(shí)候停止處理匹配饿序。

如果你的匹配規(guī)則使用了正則表達(dá)式勉失,那么響應(yīng)也可以使用正則表達(dá)式,更多信息請(qǐng)看這里:Learn more...

標(biāo)志為Non-final action.的請(qǐng)求會(huì)匹配多個(gè)響應(yīng)規(guī)則原探,如果一個(gè)規(guī)則是final action 乱凿,那么再找到匹配之后,匹配過(guò)程就會(huì)結(jié)束咽弦,對(duì)于那條請(qǐng)求來(lái)說(shuō)就不會(huì)再匹配其它的規(guī)則告匠。

延遲響應(yīng)

在一個(gè)請(qǐng)求返回來(lái)之前你可以設(shè)置一下請(qǐng)求延遲返回的時(shí)間。選中Enable Latency復(fù)選框离唬,可以設(shè)置所有的規(guī)則的延遲后专。

右鍵單擊一個(gè)或者多個(gè)規(guī)則,然后選擇Set Latency就可以設(shè)置具體的延遲時(shí)間输莺。如果你想調(diào)整現(xiàn)存的延遲時(shí)間戚哎,只需要輸入一個(gè)帶有+或者-號(hào)的數(shù)字即可裸诽。

如果你想在現(xiàn)在的延遲時(shí)間基礎(chǔ)上面減少500毫秒,那么在彈出的輸入框中輸入-500即可型凳。

好了丈冬,今天就到這里吧,O(∩_∩)O~

下面附上原文地址:

http://www.fiddler2.com/Fiddler2/help/AutoResponder.asp

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末甘畅,一起剝皮案震驚了整個(gè)濱河市埂蕊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌疏唾,老刑警劉巖蓄氧,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異槐脏,居然都是意外死亡喉童,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門顿天,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)堂氯,“玉大人,你說(shuō)我怎么就攤上這事牌废⊙拾祝” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵鸟缕,是天一觀的道長(zhǎng)局扶。 經(jīng)常有香客問(wèn)我,道長(zhǎng)叁扫,這世上最難降的妖魔是什么三妈? 我笑而不...
    開(kāi)封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮莫绣,結(jié)果婚禮上畴蒲,老公的妹妹穿的比我還像新娘。我一直安慰自己对室,他們只是感情好模燥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著掩宜,像睡著了一般蔫骂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上牺汤,一...
    開(kāi)封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天辽旋,我揣著相機(jī)與錄音,去河邊找鬼。 笑死补胚,一個(gè)胖子當(dāng)著我的面吹牛码耐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播溶其,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼骚腥,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了瓶逃?” 一聲冷哼從身側(cè)響起束铭,我...
    開(kāi)封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎厢绝,沒(méi)想到半個(gè)月后契沫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡代芜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年埠褪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凉逛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磅轻。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡顷啼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出嫡秕,到底是詐尸還是另有隱情,我是刑警寧澤苹威,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布昆咽,位于F島的核電站,受9級(jí)特大地震影響牙甫,放射性物質(zhì)發(fā)生泄漏掷酗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一窟哺、第九天 我趴在偏房一處隱蔽的房頂上張望泻轰。 院中可真熱鬧,春花似錦且轨、人聲如沸浮声。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)泳挥。三九已至,卻和暖如春至朗,著一層夾襖步出監(jiān)牢的瞬間屉符,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留筑煮,地道東北人辛蚊。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像真仲,于是被迫代替她去往敵國(guó)和親袋马。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容