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