Fiddler 進(jìn)階之 FiddlerScript(禁止IPv4訪問(wèn))
今天來(lái)記錄一下如何通過(guò)編寫(xiě) FiddlerScript 來(lái)加入 Fiddler 本身所沒(méi)有的功能,比如現(xiàn)在想禁止所有(并不是完全,F(xiàn)iddler并不能接管底層網(wǎng)卡所有流量,但這在一般意義上幾乎已經(jīng)是所有了)IPv4的網(wǎng)絡(luò)訪問(wèn),只留下IPv6訪問(wèn)能力。因?yàn)镕iddler并沒(méi)有禁止IPv4的功能,反而有禁止IPv6的功能。
FiddlerScript 使用的是 JScript.NET 語(yǔ)言開(kāi)發(fā)的,是微軟公司開(kāi)發(fā)的動(dòng)態(tài)腳本語(yǔ)言,也就是?JavaScript 的 .NET 版本,似乎目前人們認(rèn)為只有瀏覽器才用 JavaScript,其實(shí)這才是對(duì)?JavaScript 最大的誤解。
打開(kāi) Fiddler,之后快捷鍵 Ctrl + R 打開(kāi)?Fiddler ScriptEditor
菜單欄 Go -->?to OnExecAction
?

在紅框位置加入如下代碼:
static var banItem: String = null;? ??
case "ban":
? if (sParams.Length<2) {banItem=null; FiddlerObject.alert("Banning cleared"); return false;}
? banItem = sParams[1];?
? FiddlerObject.StatusText="Break requests based on target IP type: "+sParams[1];
? return true;
菜單欄?Go?-->?to?OnBeforeResponse

// Break requests based on IPv4 target
if ( ('ipv4'==banItem) && (new RegExp('\\d{1,3}(\\.\\d{1,3}){3}').test(oSession.oFlags["X-HostIP"])) ) {
? oSession.utilSetResponseBody('404, Blocked IPv4 requests by Fiddler');
? oSession.responseCode = 404;
? oSession["ui-color"] = "red";?
}
之后保存,輸入ban ipv4命令,如果要取消,輸入ban

在瀏覽器測(cè)試:

可以看到,IPv4已經(jīng)不能訪問(wèn)了,只有IPv6可以訪問(wèn)
