fiddler不但能抓包,还能修改http报文。需要先设置断点,拦下http请求报文或者http响应报文,然后再进行修改。
fiddler是一个代理服务器,所以可以设置断点,拦住http请求,修改http请求后再进行放行。
设置好断点后,可以修改http请求的任何信息,包括:host、cookie或者表单中的数据。
设置断点有2种方式:
(一)、设置全局断点:启动fiddler,单击 菜单栏 中的rules——>automatic breakpoint——>before requests;这种方式会拦截所有的会话;
取消全局断点:启动fiddler,单击 菜单栏 中的rules——>automatic breakpoint——>disabled;
(二)、设置单个断点:已经知道某个请求的url地址,这个时候只需要针对这一个请求打断点调试,其它的请求不拦截;
方法:在fiddler左下角的quickexec命令行中输入命令: bpu www.baidu.com ;这种方式只会拦截www.baidu.com。
取消单个断点:在命令行中输入bpu命令即可。
==========================================================================================================
设置断点,修改http请求
示例:浏览器访问www.ifeng.com,则通过fiddler修改http请求,让其访问www.163.com。具体操作如下:
步骤:
(1)、启动fiddler,单击 菜单栏 中的rules——>automatic breakpoint——>before requests;
(2)、打开浏览器,输入:www.ifeng.com网址;
这个时候任务栏上的fiddler图标在闪烁,说明拦住了http请求
(3)、回到fiddler主界面,因为已经拦住了想要的http请求了,其它的请求就不要拦截了。取消断点:单击 菜单栏 中的rules——>automatic breakpoint——>disabled;
(4)、被拦截的http请求前面有一个红色的T图标,选中需要修改的http请求,选中inspectors面板,使用raw选项卡(必须在raw选项卡中才能修改)
(5)、把url修改为:www.163.com 。同时把host修改为:www.163.com;然后单击绿色的“run to completion”按钮放行。
GET https://www.163.com/ HTTP/1.1
Host: www.163.com
(6)、回到浏览器,发现 www.163.com网址打开了。
注意:如果单击黄色按钮“break on response” 则会继续拦截这个http的响应请求。