电竞比分网-中国电竞赛事及体育赛事平台

分享

Fiddler快速入門(還有一個功能就是不經(jīng)過網(wǎng)絡,直接模擬一個響應返回給客戶端)

 一枚平凡的葉子 2019-04-19

Fiddler是一個免費、強大、跨平臺的HTTP抓包工具。Wireshark也是一個強大的抓包工具,不過Wireshark是一個通用的抓包工具,主要精力放在各種協(xié)議上了,針對HTTP的特定功能較少。所以如果你需要研究HTTP包的話,F(xiàn)iddler一定是最適合的工具。

下載和安裝

我們可以到Fidller下載頁面下載Fiddler。下載完成之后安裝即可。安裝之后,我們打開它,可以得到類似的用戶界面。在Windows下可能需要管理員權限,允許即可。

Fiddler

Fiddler通過打開localhost:8888端口來監(jiān)聽HTTP連接。在Windows下啟動Fiddler的時候回自動將系統(tǒng)代理設置為localhost:8888。只要一個程序可以設置代理到localhost:8888,那么它就可以被Fiddler監(jiān)聽。

基本使用

Fiddler最常用的就是監(jiān)聽和查看瀏覽器請求。我們把瀏覽器代理設置為Fiddler代理。然后隨便打開幾個網(wǎng)頁,就可以看到Fidller成功捕獲到了這些HTTP請求。

監(jiān)聽請求

如果我們需要詳細查看某個請求,可以在左邊列表選擇一個,然后在右邊點擊Inspectors。點擊Inspectors之后,我們可以看到右邊有很多標簽,上面是請求,下面是響應。我們可以查看Headers、TextView、ImageView等多種視圖。如果點擊Raw視圖的話,我們就可以查看原始的HTTP請求內(nèi)容了。這里由于我在使用Fiddler捕獲的時候網(wǎng)頁開著簡書,所以捕獲了多個簡書的自動保存請求。我們可以看到簡書的文章使用JSON格式發(fā)送到服務器的。

查看HTTP信息

過濾捕獲

默認情況下Fiddler會捕獲通過localhost:8888的所有請求。這樣的話列表中會顯示很多我們實際上不需要的請求。我們可以使用過濾功能來得到我們需要的結果。

按進程過濾

在按鈕欄上有一個按鈕叫All Process,我們按住這個按鈕不放,鼠標會變成十字,然后我們拖動到需要捕獲的程序上,F(xiàn)iddler就會獲取到該程序的進程號,這樣我們就可以只不過某個程序的請求了。

使用過濾器

在右邊選擇Filter,選中Use Filter,即可使用過濾器。我們可以看到有很多過濾條件。

  • 過濾主機。我們可以指定只捕獲某些主機和端口號的請求。不過貌似Fiddler不過智能,我們?yōu)榱诉^濾本機回環(huán)地址,需要同時指定127.0.0.1localhost。如果近指定一個,就無法捕獲另一個地址的請求。
  • 過濾進程。和上面指定進程的方式差不多。
  • 過濾請求頭。我們可以根據(jù)某個請求頭是否存在顯示或隱藏某些請求,還可以使用Fiddler添加或刪除請求頭。
  • 斷點。我們還可以在捕獲到某些請求時暫停它們,以便進行調(diào)試。
  • 過濾響應狀態(tài)碼,響應類型等等。

圖上是我自己的Spring小程序,返回了一個JSON。

過濾器

如果這些過濾器不能滿足需求,可能需要自己編寫Fiddler腳本了。

模擬表單提交

假設我們有如下一個表單需要填寫。

表單網(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選項卡即可使用該功能。我們在上半部分填寫請求頭,下面填寫請求體。如果是POST提交,那么數(shù)據(jù)應該寫在請求體;如果是GET提交,那么數(shù)據(jù)應寫在請求頭。

模擬提交

如果不知道請求頭和請求體如何填寫,可以先使用瀏覽器提交一個表單,然后用Fiddler查看一下瀏覽器是如何提交的,再改為自己的。

模擬返回

Fiddler還有一個功能就是不經(jīng)過網(wǎng)絡,直接模擬一個響應返回給客戶端。我們選擇AutoResponser即可使用該功能。選中Enable Rules,然后添加一條規(guī)則,我們就可以根據(jù)指定的URL來返回指定的結果了。Fiddler提供了一些簡單的結果。我們也可以自定義響應。Enable Rules右邊還有兩個選項依次是跳過不匹配的請求和啟用延遲(單位是毫秒)。Fiddler支持URL的正則匹配,右下角的Test用于測試URL是否匹配。我這里簡單的精確匹配了一下。

模擬提交

這個功能其實很強大。我們可以利用Fiddler截取某些軟件激活的信息(假如它們使用的是HTTP協(xié)議),然后利用這個功能模擬返回服務器信息。這樣我們就可以偽造一個假的激活服務器了。

遠程抓包

Fiddler不僅可以捕獲本機的HTTP請求,還可以捕獲遠程機器的請求。首先我們點擊Tool->Telerik Fiddler Options,然后允許遠程計算機連接。啟用該選項需要重啟Fiddler。

允許遠程連接

然后使用方法和前面差不多。我們查看一下本機IP地址。然后在其它設備上設置代理ip地址:8888即可。例如在安卓手機上設置,即可讓Fiddler捕獲手機的HTTP連接。(本來截了張手機設置圖,結果一看太大,影響排版,還是刪了)

此外Fiddler還有一些其他功能,就需要各位自己挖掘了。Fiddler文檔在此,只不過是英文的,有興趣的同學可以看看。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多