Fiddler 进阶之 FiddlerScript(禁止IPv4访问)
今天来记录一下如何通过编写 FiddlerScript 来加入 Fiddler 本身所没有的功能,比如现在想禁止所有(并不是完全,Fiddler并不能接管底层网卡所有流量,但这在一般意义上几乎已经是所有了)IPv4的网络访问,只留下IPv6访问能力。因为Fiddler并没有禁止IPv4的功能,反而有禁止IPv6的功能。
FiddlerScript 使用的是 JScript.NET 语言开发的,是微软公司开发的动态脚本语言,也就是 JavaScript 的 .NET 版本,似乎目前人们认为只有浏览器才用 JavaScript,其实这才是对 JavaScript 最大的误解。
打开 Fiddler,之后快捷键 Ctrl + R 打开 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

在浏览器测试:

可以看到,IPv4已经不能访问了,只有IPv6可以访问
