Fiddler是一個(gè)免費(fèi)、強(qiáng)大、跨平臺(tái)的HTTP抓包工具。Wireshark也是一個(gè)強(qiáng)大的抓包工具,不過Wireshark是一個(gè)通用的抓包工具,主要精力放在各種協(xié)議上了,針對(duì)HTTP的特定功能較少。所以如果你需要研究HTTP包的話,F(xiàn)iddler一定是最適合的工具。 下載和安裝我們可以到Fidller下載頁面下載Fiddler。下載完成之后安裝即可。安裝之后,我們打開它,可以得到類似的用戶界面。在Windows下可能需要管理員權(quán)限,允許即可。 Fiddler
Fiddler通過打開 基本使用Fiddler最常用的就是監(jiān)聽和查看瀏覽器請(qǐng)求。我們把瀏覽器代理設(shè)置為Fiddler代理。然后隨便打開幾個(gè)網(wǎng)頁,就可以看到Fidller成功捕獲到了這些HTTP請(qǐng)求。 監(jiān)聽請(qǐng)求
如果我們需要詳細(xì)查看某個(gè)請(qǐng)求,可以在左邊列表選擇一個(gè),然后在右邊點(diǎn)擊Inspectors。點(diǎn)擊Inspectors之后,我們可以看到右邊有很多標(biāo)簽,上面是請(qǐng)求,下面是響應(yīng)。我們可以查看Headers、TextView、ImageView等多種視圖。如果點(diǎn)擊Raw視圖的話,我們就可以查看原始的HTTP請(qǐng)求內(nèi)容了。這里由于我在使用Fiddler捕獲的時(shí)候網(wǎng)頁開著簡書,所以捕獲了多個(gè)簡書的自動(dòng)保存請(qǐng)求。我們可以看到簡書的文章使用JSON格式發(fā)送到服務(wù)器的。 查看HTTP信息
過濾捕獲默認(rèn)情況下Fiddler會(huì)捕獲通過 按進(jìn)程過濾在按鈕欄上有一個(gè)按鈕叫 使用過濾器在右邊選擇Filter,選中Use Filter,即可使用過濾器。我們可以看到有很多過濾條件。
圖上是我自己的Spring小程序,返回了一個(gè)JSON。 過濾器
如果這些過濾器不能滿足需求,可能需要自己編寫Fiddler腳本了。 模擬表單提交假設(shè)我們有如下一個(gè)表單需要填寫。 表單網(wǎng)頁
表單代碼如下。 <form method='post' action='/spring-web-mvc-sample/addUser'>
<label for='name'>姓名</label>
<input type='text' name='name' id='name'/>
<br>
<label for='age'>年齡</label>
<input type='text' name='age' id='age'/>
<br>
<label for='gender'>性別</label>
<input type='text' name='gender' id='gender'/>
<br>
<input type='submit' value='提交'/>
</form>
利用Fiddler可以幫我們完成表單提交這樣的工作。切到Composer選項(xiàng)卡即可使用該功能。我們?cè)谏习氩糠痔顚懻?qǐng)求頭,下面填寫請(qǐng)求體。如果是POST提交,那么數(shù)據(jù)應(yīng)該寫在請(qǐng)求體;如果是GET提交,那么數(shù)據(jù)應(yīng)寫在請(qǐng)求頭。 模擬提交
如果不知道請(qǐng)求頭和請(qǐng)求體如何填寫,可以先使用瀏覽器提交一個(gè)表單,然后用Fiddler查看一下瀏覽器是如何提交的,再改為自己的。 模擬返回Fiddler還有一個(gè)功能就是不經(jīng)過網(wǎng)絡(luò),直接模擬一個(gè)響應(yīng)返回給客戶端。我們選擇AutoResponser即可使用該功能。選中Enable Rules,然后添加一條規(guī)則,我們就可以根據(jù)指定的URL來返回指定的結(jié)果了。Fiddler提供了一些簡單的結(jié)果。我們也可以自定義響應(yīng)。Enable Rules右邊還有兩個(gè)選項(xiàng)依次是跳過不匹配的請(qǐng)求和啟用延遲(單位是毫秒)。Fiddler支持URL的正則匹配,右下角的Test用于測(cè)試URL是否匹配。我這里簡單的精確匹配了一下。 模擬提交
這個(gè)功能其實(shí)很強(qiáng)大。我們可以利用Fiddler截取某些軟件激活的信息(假如它們使用的是HTTP協(xié)議),然后利用這個(gè)功能模擬返回服務(wù)器信息。這樣我們就可以偽造一個(gè)假的激活服務(wù)器了。 遠(yuǎn)程抓包Fiddler不僅可以捕獲本機(jī)的HTTP請(qǐng)求,還可以捕獲遠(yuǎn)程機(jī)器的請(qǐng)求。首先我們點(diǎn)擊Tool->Telerik Fiddler Options,然后允許遠(yuǎn)程計(jì)算機(jī)連接。啟用該選項(xiàng)需要重啟Fiddler。 允許遠(yuǎn)程連接
然后使用方法和前面差不多。我們查看一下本機(jī)IP地址。然后在其它設(shè)備上設(shè)置代理 此外Fiddler還有一些其他功能,就需要各位自己挖掘了。Fiddler文檔在此,只不過是英文的,有興趣的同學(xué)可以看看。 |
|