Fiddler改包

Fiddler是十分流行好用的抓包工具,通过Fiddler不仅可以查看数据包,还可以对数据包进行修改,进行各种测试模拟。本文介绍五种常见的修改报文数据包的方法。 一、直接使用Rules菜单,修改请求伪装客户端 单击菜单 Rules -- User-Agents -- iPhone6 ![image.png](https://cos.easydoc.net/84678576/files/les8tn1q.png) 请求报文User-Agent信息已被修改 ![image.png](https://cos.easydoc.net/84678576/files/les8u08z.png) 浏览器显示出来的页面变成了手机版的样式 ![image.png](3) 二、下断点,拦截并修改请求报文 全局断点:单击菜单栏中的 Rules -- Automatic Breakpoint -- Before Requests,会拦截全部请求报文 ![image.png](https://cos.easydoc.net/84678576/files/les8ueez.png) 特定网址断点:左下角QuickExec 命令行中输入命令“bpu www.baidu com ”后回车,就只会拦截百度页面。(要取消断点,在命令行输入“bpu”后回车即可) ![image.png](https://cos.easydoc.net/84678576/files/les8umi7.png) 在浏览器地址栏中访问百度网址,浏览器转圈等待响应 ![image.png](https://cos.easydoc.net/84678576/files/les8urz1.png) fiddler会闪烁提示 ![image.png](https://cos.easydoc.net/84678576/files/les8ux37.png) 对应的session会显示红色的T图标 ![image.png](https://cos.easydoc.net/84678576/files/les8v11n.png) 转到Inspectors页如下所示 ![image.png](https://cos.easydoc.net/84678576/files/les8v5bo.png) 双击Host进行修改,修改成www.qq.com ![image.png](https://cos.easydoc.net/84678576/files/les8van5.png) 点击Run to Completion放行 ![image.png](https://cos.easydoc.net/84678576/files/les8vg4z.png) 浏览器实际显示了腾讯主页,但地址栏是baidu.com ![image.png](https://cos.easydoc.net/84678576/files/les8vl60.png) 三、下断点,拦截并修改响应报文 全局断点:单击菜单栏中的 Rules -> Automatic Breakpoint -> After Responses,会拦截全部响应报文 ![image.png](https://cos.easydoc.net/84678576/files/les8vp8j.png) 特定网址断点:左下角QuickExec 命令行中输入命令“bpafter www.baidu com ”后回车,就只会拦截百度页面。(要取消断点,在命令行输入“bpafter”后回车即可) 在浏览器地址栏中访问百度网址,浏览器转圈等待响应 ![image.png](https://cos.easydoc.net/84678576/files/les8vv4o.png) fiddler会闪烁提示 ![image.png](https://cos.easydoc.net/84678576/files/les8vz77.png) 对应的session会显示红色的T图标 ![image.png](https://cos.easydoc.net/84678576/files/les8w1oo.png) 在响应的TextView中找到<title>标记并修改一下,然后点击Run to Completion放行 ![image.png](https://cos.easydoc.net/84678576/files/les8w47v.png) 浏览器显示了修改后的标题 ![image.png](https://cos.easydoc.net/84678576/files/les8w8k8.png) 四、使用AutoResonder,自动替换网页资源 原百度主页gif图标如下: 找到gif图标对应的资源文件 将资源文件拖动到AutoResonder中 在Rule Editor中通过Find a file替换为一个本地的gif图 勾选Enable rules生效规则,勾选Unmatched requests passthrough放行不匹配的请求 刷新页面,百度主页gif图表已被替换 五、使用FiddlerScript,实现自定义修改 Fiddler Script的本质是用JScript.NET编写的一个脚本文件CustomRules.js 通过修改CustomRules.js可以灵活修改请求报文和响应报文,也无需中断程序。同时也可以利用它针对不同的URL做各种特殊处理。 Fiddler安装时已经自带了Fiddler ScriptEditor,可查看包含的各类变量和方法,十分方便。 CustomRules.js中的OnBeforeRequest 函数在每次请求之前调用 示例:在OnBeforeRequest 函数中修改Cookie if (oSession.uriContains("baidu.com")) { //删除原有cookie oSession.oRequest.headers.Remove("Cookie"); //新建cookie oSession.oRequest.headers.Add("Cookie","username=testname;testpassword=P@sswordl"); //修改Cookie .不能删除或者编辑单独的 Cookie 需要替换 Cookie 字符串 var oldCookie = oSession.oRequest["Cookie"]; oldCookie = oldCookie.Replace("cookieName=","gnoreme"); oSession.oRequest[" Cookie"] = oldCookie ; //替换新Cookie var newCookie = "your cookie String"; oSession.oRequest["Cookie"] = newCookie; } CustomRules.js中的OnBeforeResponse 函数在每次响应之前调用 示例:在OnBeforeResponse 函数中修改响应的数据 if (oSession.uriContains("cnblogs.com")) { oSession utilReplaceinResponse("csdn","csdn 灰哥"); } ———————————————— 版权声明:本文为CSDN博主「灰哥BizData」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/scut_yfli/article/details/106034952