您现在的位置是:时尚 >>正文

fiddler抓包工具代码

时尚62195人已围观

简介Fiddler抓包工具最核心的代码其实就三行:oSession["x-breakrequest"] = "1"、oSession.oRequest["Cookie"] = "newvalue"、oSe ...

Fiddler抓包工具最核心的包工代码其实就三行:oSession["x-breakrequest"] = "1"、oSession.oRequest["Cookie"] = "newvalue"、具代oSession.utilReplaceInRequest("old",包工"new")。这三行写在Fiddler Script的具代OnBeforeRequest函数里,就能改请求、包工改Cookie、具代改URL参数。包工别被那些花哨的具代教程吓住,真正干活的包工就是这么几个API。

我见过太多人把Fiddler当纯GUI工具用,具代鼠标点来点去改包。包工那效率低得离谱。具代比如你想批量把一百个请求里的包工某个token替换掉,手动操作得点一百次。具代用代码,包工一个for循环搞定。Fiddler Script本质上就是JScript.NET,你可以在里面写正则、写循环、甚至调System.IO读写文件——它就是个跑在HTTP管道上的小型编程环境。

拿我上周调试一个APP接口来说。对方服务端校验了User-Agent和Referer,前端代码混淆得厉害,抓包看到请求头里有个加密参数sign,每次请求都变。手动改包根本来不及。我在OnBeforeRequest里写了段代码,把sign的计算逻辑用C#的MD5函数复现出来,直接替换。整个过程不到十分钟。要是靠手点,估计得折腾一下午。

写Fiddler脚本有几个坑得注意。第一,oSession对象是只读的,你改它的属性前得先获取可写副本。比如var req = oSession.oRequest,然后操作req。第二,脚本里不能直接调用外部DLL,得先放到Fiddler的Scripts目录下,用import指令引用。第三,也是最重要的——OnBeforeRequest和OnBeforeResponse的执行顺序。请求阶段的修改会影响响应,但响应阶段的代码千万别去动请求对象,会报诡异的空引用错误。

有个实用技巧:用Fiddler代码做自动化测试的mock。你把某个接口的响应体写死,比如oSession.utilSetResponseBody('{ "status":"ok"}'),再配合oSession.responseCode = 200,就能模拟后端故障。我经常用这招测前端异常处理逻辑,比用Charles的map local功能灵活得多——因为你能写条件判断,比如if(oSession.uriContains("v1/order"))才mock,其他请求正常放行。

代码写多了,Fiddler会越来越卡。别慌,多半是脚本里忘了释放资源。比如你用了FileStream,记得在finally块里close。或者你频繁修改oSession["x-replywithfile"],这个属性会导致Fiddler每次重新读磁盘,改完记得置空。要是真卡死了,重启Fiddler比重启电脑快,但脚本里加个System.GC.Collect()通常能缓解。

最后说个冷门的——Fiddler代码还能当代理服务器用。你把oSession["x-overrideHost"]设置成另一台机器IP,就能做简单的流量转发。我试过用它把线上HTTPS请求转发到本地调试服,省得配hosts。但注意这招对证书校验严格的APP无效,得配合Fiddler的根证书信任才行。

写Fiddler脚本,本质上就是写个小型中间件。别把它当测试工具,它是个可编程的HTTP代理。理解了这个,你就能用它做流量分析、协议逆向、接口mock、甚至简单的爬虫——全看你怎么折腾那几行代码。

Tags:

相关文章

  • 虚拟机nps内网穿透搭建

    时尚

    我的笔记本放在公司内网机房里,人却坐在家里。为了能随时连回去改代码,我在那台机器上装了个nps客户端——一个轻量级内网穿透工具。整个过程比我想象中简单,但也踩了几个坑。写下来,给同样需要远程访问内网设 ...

    【时尚】

    阅读更多
  • rog枪神7 plus系列

    时尚

    ROG枪神7 Plus,这机器拿在手里的第一感觉就是沉。不是那种笨重的沉,是扎实,像抱着一块精心切割的铸铁。A面的斜切线条和发光Logo,在灯光下有种冷峻的机甲感,但转轴处那圈环绕的RGB灯带,又暴露 ...

    【时尚】

    阅读更多
  • 创维牌s835型超滤净水器

    时尚

    我家那台老净水器用了五年,出水越来越慢,像得了慢性病。换滤芯的师傅上门,拆开一看,里面那层活性炭已经结成硬块,他摇头说:“这水啊,其实早就不过关了。” 我盯着他手里的旧滤芯,忽然意识到一个被忽略的事实 ...

    【时尚】

    阅读更多


友情链接