老工具 fiddler-使用拾遺及一些技巧

JoyMao發表於2023-12-16

記錄這個 topic 其實還是猶豫了一下,畢竟 fiddler(不是 anywhere)屬於測試人超 10 年以上的老朋友了,很多人都不用了。
但 Classsic 畢竟經典,很多功能還是很好用的。

FiddlerScript

【1】修改請求 - 替換域名
找到 OnBeforeRequest(oSession: Session) 方法

if(oSession.oRequest.host=="aaa.xxx.com"){
            //FiddlerObject.log(oSession.url)
            oSession.oRequest["host"]="bbb.xxx.com"
            oSession.url=oSession.url.Replace("aaa.xxx.com","bbb.xxx.com")
        }

【2】CORS 處理
找到 OnBeforeResponse(oSession: Session) 方法

if(oSession.HTTPMethodIs("OPTIONS")){
            oSession.oResponse["Access-Control-Allow-Methods"]="GET,POST,PATCH,OPTIONS";
            oSession.oResponse["Access-Control-Allow-Headers"]="Content-Type, Accept, Authorization";
            oSession.responseCode = 204;
            return
        }
        var referOrigin:String[]=oSession.oRequest.headers["Referer"].Split("/");
        if(referOrigin.Length>3){
            FiddlerObject.log(referOrigin[0]+"//"+referOrigin[2])
            oSession.oResponse["Access-Control-Allow-Origin"]=referOrigin[0]+"//"+referOrigin[2];

        }else{
            oSession.oResponse["Access-Control-Allow-Origin"]="*";
        }

        oSession.oResponse["Access-Control-Allow-Credentials"]="true";

以上本身沒啥,其他的操作看大家舉一反三了,主要希望大家別忘記這個老朋友 fiddlerClassic,雖然它不支援 H2。
但它還是很靈活的

filter

fiddler 還有一個不起眼的欄目 filter,其實這裡提供的功能還是蠻多的。
主要提供了一些過濾方法及預設的常用功能。
主要功能如下:

fiddler 的併發測試

這是 fiddler 的一個技巧,老使用者估計大部分知道,這個是其實 bpu(請求斷點)+Composer(請求構造器) 的配合使用
很多新使用者會寫指令碼啊或者使用 jmeter、burpsuite 啊搞,但 fiddler 這裡可以進行簡單的併發驗證,測試資源競爭一類的。

步驟 1:
使用 bpu 命令攔截你需要併發測試請求(按回車)

步驟 2:
將你需要攔截的請求拖拽到 Composer 中

然後不斷的重複的點選 Composer 中的 excute 命令
這樣,會出現很多這個被攔截的該請求

步驟 3:
點選 fiddler 左側的 Go(綠色三角),這樣攔截的請求將會併發提交,從而驗證一下併發的資源競爭一類

這個是比較有用的

相關文章