介紹幾個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調試。
參考: