使用Fiddler对浏览器进行抓包

一、配置

1、Fiddler

1.打开Fiddler菜单项Tools-> Options如下图:
使用Fiddler对浏览器进行抓包_第1张图片
1)我们进入https选项卡,勾选Decrypt HTTPS traffic, Fiddler截获HTTPS请求,如下图所示:(配置fiddler允许监听到https)
使用Fiddler对浏览器进行抓包_第2张图片

2)下面进入connects选项卡,勾选Allow remote computers to connect。允许HTTP/HTTPS请求发送到Fiddler,弹出提示,点击确定按钮,如下图所示:(配置fiddler允许远程连接)
使用Fiddler对浏览器进行抓包_第3张图片
配置完成;

2、配置Google

1.谷歌浏览器插件SwitchyOmega的下载、安装 :
1)SwitchyOmega的github下载地址:https://github.com/FelisCatus/SwitchyOmega/releases
2)打开谷歌的扩展程序页面:网址输入:chrome /extensions/
打开下载的文件,将下载的文件拖入扩展程序栏,在弹出框中点击添加扩展程序,安装插件:
使用Fiddler对浏览器进行抓包_第4张图片
使用Fiddler对浏览器进行抓包_第5张图片
2.谷歌浏览器插件SwitchyOmega的配置 :

  1. 点击如下圆形图标,在下方框中点击选项,进入配置页面:
    使用Fiddler对浏览器进行抓包_第6张图片
  2. 在出现的配置页面内,点击左侧是proxy,对代理服务器进行修改(服务器主机名和端口与fiddler保持一致);
    使用Fiddler对浏览器进行抓包_第7张图片
    3)在浏览器输入url,此时可以发现在Fiddler工具里面已经抓到包
    使用Fiddler对浏览器进行抓包_第8张图片

二、抓包

fiddler主页面如下:
使用Fiddler对浏览器进行抓包_第9张图片

1、抓取请求

使用Fiddler对浏览器进行抓包_第10张图片

2. 删除请求

1)第一种方法,点击工具栏的 ,进行删除
使用Fiddler对浏览器进行抓包_第11张图片
2)第二种:在命令行输入命令来删除请求:clear
使用Fiddler对浏览器进行抓包_第12张图片

3. 过滤请求

每次使用Fiddler, 打开一个网站,都能在Fiddler中看到几十个会话,看得眼花缭乱。最好的办法是过滤掉一些会话,比如过滤掉图片的会话。Fiddler中有过滤的功能, 在右边的Filters tab中,里面有很多选项, 稍微研究下,就知道怎么用。
使用Fiddler对浏览器进行抓包_第13张图片
过滤框中可以输入多条,用英文分号“;”隔开

三、设置断点

1、Fiddler中设置断点修改Request:
  Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法:
  第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话)
  如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled
第二种: 在命令行中输入命令: bpu www.baidu.com (这种方法只会中断www.baidu.com)
  如何消除命令呢? 在命令行中输入命令 bpu
  
2、Fiddler中拦截请求:

  1. F11先开始拦截,然后在发送请求
  2. 修改拦截下来的请求,修改数据
  3. shift+F11关闭拦截
  4. run to complete,把所有拦截下来的请求发送过去

3、Fiddler中拦截响应:

  1. alt+F11开始拦截
  2. 修改数据
  3. shift+F11关闭拦截
  4. run to complete,把修改的请求发送过去

1、全局断点:

1.全局断点就是中断fiddler捕获的所有请求,先设置下,点击rules-> automatic breakpoint ->before requests。
使用Fiddler对浏览器进行抓包_第14张图片
2.选中before requests选项后,打开博客园首页:http://www.cnblogs.com/yoyoketang/,看到如下T的标识,说明断点成功
使用Fiddler对浏览器进行抓包_第15张图片
3.打完断点后,会发现所有的请求都无法发出去了,这时候,点下Go按钮,就能走下一步了
使用Fiddler对浏览器进行抓包_第16张图片
4.找到需要修改的请求后,选中该条会话,右侧打开WebFroms,这时候里面的参数都是可以修改的了
使用Fiddler对浏览器进行抓包_第17张图片
5.修改之后点Run to Completion就能提交了,于是就成功修改了请求参数了
6.打全局断点的话,是无法正常上网的,需要清除断点:rules-> automatic breakpoint ->disabled

2、单个断点:

已经知道了某个接口的请求地址,这时候只需要针对这一条请求打断点调试,在命令行中输入指令就可以了
1. 请求前断点
请求前断点(before response): bpu

  1. 论坛登录接口:https://passport.cnblogs.com/user/signin
  2. 命令行输入:bpu https://passport.cnblogs.com/user/signin 回车
    使用Fiddler对浏览器进行抓包_第18张图片
  3. 请求登录接口的时候,就会只拦截登录这个接口了,此时可以修改任意请求参数
  4. 取消断点,在命令行输入: bpu 回车就可以了

2. 响应后断点
响应后断点(after requests): bpafter

  1. 论坛登录接口:https://passport.cnblogs.com/user/signin
  2. 在命令行输入:bpafter https://passport.cnblogs.com/user/signin 回车
  3. 登录博客园,会发现已经拦截到登录后服务器返回的数据了,此时可以修改任意返回数据
  4. 取消断点,在命令行输入: bpafter 回车就可以了

3、拦截来自某个网站的所有请求:

  1. 在命令行输入:bpu www.cnblogs.com
  2. 打开博客园任意网页,发现都被拦截到了
  3. 打开博客园其他网站,其它网站可以正常请求
  4. 说明只拦截了来自部落论坛(www.cnblogs.com)的请求
  5. 清除输入bpu回车即可

4、拦命令行其他相关指令

Bpafter, Bps, bpv, bpm, bpu
这几个命令主要用于批量设置断点
Bpafter xxx: 中断 URL 包含指定字符的全部 session 响应
Bps xxx : 中断 HTTP 响应状态为指定字符的全部 session 响应
Bpv xxx : 中断指定请求方式的全部 session 响应
Bpm xxx: 中断指定请求方式的全部 session 响应 、、同于 bpv xxx
Bpu xxx :与bpafter类似
当这些命令没有加参数时,会清空所有设置了断点的HTTP请求。

四、Fiddler的一些其他功能

1、模拟弱网环境

使用Fiddler对浏览器进行抓包_第19张图片
进入到编辑fiddler脚本中,修改具体限速设置:
ctrl+f搜索m_SimulateModem
使用Fiddler对浏览器进行抓包_第20张图片
修改完成后,注意保存
使用Fiddler对浏览器进行抓包_第21张图片

2、模拟性能测试的并发测试

首先鼠标选中需要的 HTTP 请求,然后把键盘设为大写模式,按下 Shift + R,会弹出模拟并发的次数
使用Fiddler对浏览器进行抓包_第22张图片
然后输入你需要并发的次数,然后发送请求即可。
这个也就是右键 session 栏中选择 Replay → Ressue Requests,但似乎不能选择次数,工具栏中 Replay 按钮同样也是这个功能,除此之外,右键 session 栏中的 Replay 中从上到下依次是无条件重发选中的请求,重发请求并编辑(这会打开一个加了断点的请求可进行请求和响应数据的修改),重发并验证(重发并验证请求结果,会自动加颜色标识),重发序列(打开数量设置界面,标识需要重发多少次请求),重发并打开 composer 界面(可编辑或发送),在 IE 上直接发起这个请求。

你可能感兴趣的:(测试,抓包工具)