介紹幾個Fiddler自動響應器(AutoResponder)應用場景:
-
場景一:生產環境的請求重定向到本地檔案,驗證結果。
例如:某網站或者系統修改了問題,但尚未更新到生產環境,可重定向到本地修改後的檔案進行驗證,這樣能夠避免更新到生產環境後才發現問題。
-
場景二:修改響應結果,模擬介面測試。也可以繞過前端頁面的JS驗證,測試介面是否存在問題。
例如:當我們進行登陸操作的時候,如果手機好輸入的不規範,前端的校驗就進行攔截了。
-
場景三:連結某些不安全的wifi時,釣魚者可能會利用篡改某些訪問的JS檔案彈出視窗或連結,重定向到不安全的網站。友情提醒:儘量不要使用不安全的wifi上網。
1、圖片重定向
以http://test.lemonban.com/ningmengban/app/login/login.html
登陸頁面為例,將主頁圖片重定向到本地圖片。
步驟1:獲取要截獲的請求
開啟Fiddler,進行訪問網址,抓取到主頁圖片的請求,並將其拖動到AutoResponder
視窗中。
或者在AutoResponder
視窗點選Add Rule
新增一個攔截規則。
步驟2:編輯攔截規則
Rule Editor
第一個下拉框可以設定重定向請求的規則,將請求拖動到該視窗,會自動出現。
如果是點選Add Rule
新增攔截規則,需要手動輸入。
第二個下拉框可設定重定向內容。
點選改下拉框,選擇最後一項Find a file…
,然後選擇一張本地圖片,點選右側Save按鈕。
步驟3:重新訪問主頁連結
重新訪問首頁連結,發現圖片已經替換。
若發現沒有替換,可能是瀏覽器快取問題,可以去快取重新整理或者清空快取後再次訪問即可。(CRTL+F5)
提示:請求一個連結,返回本地的html頁面也是同樣的原理。
2、URL重定向
以訪問http://test.lemonban.com/ningmengban/app/login/login.html
首頁為例,設定訪問首頁時,重定向到京東首頁。
設定規則如下:
步驟1:點選Add Rule
新增一個新規則。
步驟2:修改新增規則的攔截地址和重定向地址。
新增EXACT:
後,完全匹配的請求地址才會觸發重定向。
步驟3:訪問首頁連結,進行了地址的重定向。
輸入的是首頁地址,返回來的是京東首頁。
3、本地除錯js檔案
以訪問http://test.lemonban.com/ningmengban/app/login/login.html
首頁為例,設定訪問首頁時,呼叫本地的js檔案,效果有頁面有彈框彈出。
步驟1:訪問首頁,用Fiddler抓如請求首頁的連結。
步驟2:任選一個js檔案的請求,我們把內容複製下來儲存到本地1.js
檔案中。
步驟3:在本地1.js
檔案中最上方,新增一條程式碼alert(1)
。
步驟4:設定規則如下:
- 把該請求拖拽到AutoResponder皮膚的規則欄中。
- 編輯規則,讓該請求訪問本地的
1.js
檔案
步驟5:再次進行首頁訪問,檢視結果。
結果頁面彈出了alert視窗,說明請求最終訪問了本地的1.js
檔案。
4、模擬Mock介面測試
當我們需要測試一個介面,可該介面還沒有被開發人員實現,這個時候我們就可以通過Fiddler進行Mock模擬測試。
步驟1:根據介面文件,把該介面的請求,新增到攔截規則中。
步驟2:根據介面文件對該介面的返回描述,自行編寫返回資料。
- 規則上右鍵選擇
Edit Response...
- 然後按照給是返回資料,如下:
HTTP/1.1 200 OK Server: nginx/1.4.2 Date: Sat, 23 Jan 2021 18:11:41 GMT Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive 53 {"success":false,"message":"該手機號沒有註冊","content":null,"object":null}
- 然後儲存規則,重新訪問即可。
5、綜合練習
簡單模擬網站釣魚的原理:
就是當我們訪問一個網站的時候,會產出一些提示框,我們操作後,會跳入對應的釣魚網站,這些網站就非常的危險了,我們一定要謹慎操作(直接離開)。
實現思路:
- 訪問
http://test.lemonban.com/ningmengban/app/login/login.html
首頁為例。 - 儲存任意一個js請求的檔案到本地(同上面呼叫本地js的練習)
- 修改本地js檔案,新增如下程式碼
# 彈出一個提示框,點選是訪問京東頁面,點選否訪問淘寶頁面 var flag = confirm("恭喜你中獎了,是否前往領!!!") if(flag){ window.location.href ="http://www.jd.com" }else{ window.location.href ="http://www.taobao.com" }
- 配置Fiddler自動響應器規則。
- 進行重新訪問,檢視效果。
提示:這個例子就是開闊一下思路,實現起來很方便。大家可以自己動動手實現一下。
6、總結
- 特別說明:如果瀏覽器用的是Firefox,記得先清一下臨時檔案快取,因為Firefox是真正的快取,當判斷檔案的快取還未過期時,就不會再發請求出來,Fiddler就獲取不到了。
- 總結:我們可以通過以上方法修改本地檔案,進行測試。
自動重定向功能是Fiddler最實用的功能,這裡的Rule可以自由地設定,可以使用搜尋(預設)、精確匹配(EXACT)、正規表示式匹 配(REGEX)。
處理方式可以選擇使用檔案,也可以選擇合適的時間暫停資料流(bpu、bpafter),人工干預。通過以上幾個示例,我們演示了怎樣將HTTP請求重定向到本地的檔案,進行web除錯。
這種除錯方式不需要釋出到線上再驗證,避免了修改不成功、對使用者造成影響的風險,而且不需要搭建複雜的開發伺服器等開發環境,非常適合快速web除錯。
參考: