『言善信』Fiddler工具 — 9、Fiddler自動響應器(AutoResponder)詳解

繁華似錦Fighting發表於2021-06-11

1、AutoResponder介紹

Fiddler的AutoResponder功能 ,是將HTTP請求攔截下來,重定向到本地檔案或者指定響應結果,實現自動重定向的功能。 不管我們做URL重定向,還是做Mock測試、本地js除錯等,都可以通過該功能進行實踐。

AutoResponder皮膚如下圖:

image

2、AutoResponder介面說明

我們依照下圖,來詳細說明AutoResponder介面。

image

# 提示:
# Fiddler可以返回生成的響應,而不使用網路。
Fiddler can return previously generated responses instead of using the network.

(1)選項:

  • Enable rules:啟用規則。勾選此選項,自動響應器才會啟用。
  • Unmatched requests passthrough:沒有匹配到的請求予以通過。
    建議開啟,沒開啟時,規則匹配外的請求將失敗,報HTTP 404錯誤。
    說明:如果不勾選此選項,抓包的時候,會返回:
    [Fiddler] The Fiddler AutoResponder is enabled, but this request did not match any of the listed rules. Because the "Unmatched requests passthrough" option on the AutoResponder tab is not enabled, this HTTP/404 response has been generated. 
    
    意思是:Fiddler的自動響應器啟用了,但是請求沒匹配到任何列表中的規則。而且因為跳過非匹配請求選項沒有啟用,所以產生了http/404返回結果。
  • Enable Lagency:延遲響應時間,單位 ms(毫秒)。
    勾選了該選項,則在規則裡面就可以設定,立即返回響應,還是隔多少毫秒返回響應。
  • Accept all CONNECTS:允許所有連線。

推薦:我們在適用Fiddler的時候,一般都會勾選Enable rulesUnmatched requests passthrough選項。

(2)按鈕:

  1. Add rule:新增規則,點選此按鈕則,會在規則框裡插入一條新的規則。
  2. import:支援匯入之前捕獲的.saz檔案。
  3. Group:對列表中所建立的規則進行分組。
    在列表中選中一些規則,點選Group按鈕,就會把這些規則進行單獨分組,
    選中需要合併的組,點選Ungroup,就可以進行解組。

(3)Rule Editor(規則編輯):

  • 第一行:是設定匹配條件。點開下拉,會看到很多Fiddler自帶的匹配條件。
    即:填寫要匹配劫持的地址。
  • 第二行:是設定返回。點開下拉,會看到很多Fiddler自帶的返回值型別。
    即:就是劫持後真正要訪問的地址,或者返回的結果。

說明:

1)第一個文字框的字首有三種:

  • 字首為“EXACT:”表示完全匹配(大小寫敏感)。
  • 無字首表示基本搜尋,表示搜尋到字串就匹配。
  • 字首為“REGEX:”表示使用正規表示式匹配。
    字首為REGEX:(?insx)表示匹配方式其中:
    i表示不區分大小寫;
    n表示指定的唯一有效的捕獲是顯式命名或編號的形式;
    s表示單行模式;
    x表示空格說明的;

使用說明:

(1)純粹字串匹配

Fiddler將會按照不區分字母大小寫來匹配字串。

如下:

image

(2)字首NOT匹配

跟上面的類似,Fiddler還有一個非字串匹配的規則:

NOT:該規則會匹配url中不含給定字元的所有請求。

如下:

image

(3)字首EXACT匹配(精確匹配)

表示式以EXACT:為字首,此匹配區分字母大小寫。

image

(4)字首REGEX匹配

正規表示式:Fiddler支援以regex:為字首的正規表示式語法,

使用.+匹配一個或多個字元,

使用.*匹配0個或多個字元,

使用^匹配字串開始位置,

使用$匹配字串結尾位置。

如下:

image

注意:

選項字串(?insx)的功能如下:

它會啟動大小寫敏感限制,要求顯示捕獲組,支援單行語義,支援使用#符號新增註釋。

2)第二個文字框是設定Fiddler內建的響應。

可以重定向請求,也可以替換返回結果。

  • 包括不同的響應狀態碼。
  • Find a file....:找到一個檔案作為響應。

設定響應字串使用介紹:

image

返回的actiontext如下

image

提示:標藍色區域的內容為平時較常用的部分。

(4)test(測試):

  • 點選Test...,會彈出如下視窗,用來測試匹配條件的。
    測試URL匹配正規表示式,很實用的功能。
    當測試的URL匹配正則正確,則綠色標識,反之錯誤紅色標識。
    image
    第一行:url pattern設定匹配公式。(也就是要匹配的url)
    第二行:test url設定測試的網址。(也就是要重定向的url)
    點選Save Chages,則會將條件替換Rule Editor的第一行內容。
  • Match only once(只匹配一次):勾選此選項,那麼自動響應就只會響應一次。
  • Save(儲存):按鈕可以在更改了規則之後,更新規則。

(5)規則框:

規則框有四個列,下面解釋每個列的意思:

  • if requests matches:這裡顯示的是匹配的條件,即要攔截的地址。
  • then response with:這裡顯示的是如果匹配條件,返回的檔案或要訪問的地址。
  • latency:這裡顯示的是延遲時間(毫秒),只有勾選了Enable latecy選項才會展示出來。

規則框右鍵選單:

選項 說明
Remote(del) 移除規則
promote(+) 將選中的規則向上移動
demote(-) 將選中的規則向下移動
clone 克隆一個選中規則到規則框(就是在新增一個相同的規則)
Set latency 設定響應延遲時間(毫秒)
Set Comments 設定一個註釋,來提示當前規則的作用
Edit Response 編輯當前規則設定的響應檔案(當響應檔案是文字檔案時)
Generate File response body儲存到本地.txt檔案
Open Url 使用預設的網頁瀏覽器開啟匹配條件中的網址
Find 在規則框中尋找字串,找到會高亮顯示所在規則欄
Export All 匯出處當前規則為.farx檔案(Fidder AutoResponder XML)

參考:

相關文章