fiddler使用教程

fiddler是我们做软件测试时最常用的抓包工具,它可以抓取浏览器上的http请求,但是对于https请求,会提示不安全要在相应浏览器上安装证书。
一、安全证书
未安装证书时,使用fiddler抓包,打开网页,会提示网页不安全,拒绝访问。
在这里插入图片描述
此时需要将fiddler的安全证书导出,点击菜单栏Tools》options》https》Actions将证书导入到桌面。
在这里插入图片描述
fiddler默认只能抓取http请求,如果想抓取https请求要勾选图中左侧矩形提示框内选项。
导出后证书如图所示:
在这里插入图片描述
将证书导入浏览器中(以Chrome浏览器为例)
依次点击右上角浏览器设置》高级》隐私和安全性设置》管理证书》》导入
在这里插入图片描述
点击导入后,选择浏览选取桌面证书。
在这里插入图片描述
选取证书后点击下一步在这里插入图片描述
证书存储推荐选择“根据证书类型,自动选择证书存储”,系统会根据你的证书类型将证书自动存放至相应位置。在这里插入图片描述
选择存储类型后点击下一步,证书导入完成。在这里插入图片描述

证书导入失败问题及解决办法

我的导入过程很顺利没有遇到问题,不过我这里有另一个博主写的有可能遇到的问题及其解决办法。仅供大家参考。

一、证书无法导出
1.在点Actions时候出现Export Failed:The root certificate could not be located.
在这里插入图片描述
二、无法导出问题解决方案
1.首先确保安装的 Fiddler 是较新的版本,先关闭fiddler
2.下载并安装Fiddler证书生成器
下载地址:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2
3.点Tools>Fiddler Options
4.勾选Capture HTTPS traffic
5.点Actions按钮,Export Root Certificate Desktop按钮导出到桌面

三、删除证书
1.有些小伙伴可能之前装过一些fiddler证书,安装的姿势不对,导致新的证书不起作用,这时候需要先删掉之前的证书了
方法一:从fiddler里打开证书管理界面
方法二、从文件管理器输入:certmgr.msc并回车
2.搜索之前安装的fiddler证书,找到之后全部删除
3.重新下载证书生成器:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2
一路傻瓜式安装,遇到警告什么的直接忽略就行。
4.安装好证书后,按照1.1章节Fiddler抓包1-抓firefox上https请求的浏览器导入证书就行了(弄好之后,重启电脑就OK了)

上述设置完成以后就可以抓取PC端的包啦,如果想抓手机APP的包需要另行设置。
fiddler能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至修改服务器返回的数据。

  1. 打开fiddler,在浏览器中输入https://www.baidu.com/
  2. 点开右侧Inspectors下的Raw,直接查看原始网页数据。
  3. 右侧网页信息主要包含两个部分,上方是请求报文部分request,下方是响应报文部分response。
  4. 在这里插入图片描述
    1.request部分
    ·请求行(请求方法,URL,协议版本)
    ·请求头部
    ·空行
    ·请求数据

2.response部分
·响应行(协议版本,状态码,状态码描述)
·响应头部
·空行
··响应数据

断点测试

1.为什么要打断点呢?
比如一个购买的金额输入框,输入框前端做了限制100-1000,那么我们测试的时候,需要测试小于100的情况下。很显然前端只能输入大于100的。这是我们可以先抓到接口,修改请求参数,绕过前端,传一个小于100的数,检查服务端的功能是否OK。

2.Fiddler可以修改以下请求

·Fiddler设置断点,可以修改HTTP请求头信息,如修改Cookie,User-Agent等
·可以修改请求数据,突破表单限制,提交任意数字,如充值最大100,可以修改成10000
·拦截响应数据,修改响应体,如修改服务端返回的页面数据

断点的两种方式

1.请求前断点:这个是打在request请求的时候,未到达服务器之前。

2.响应后断点:也就是服务器响应之后,在Fiddler将响应传回给客户端之前。

全局断点

1.全局断点就是中断fiddler捕获的所有请求,先设置下,点击rules-> automatic breakpoint ->before requests
在这里插入图片描述
2.选中before requests选项后,输入http://www.cnblogs.com/yoyoketang/,看到如下T的标识,说明断点成功
在这里插入图片描述
3.打完断点后,会发现所有的请求都无法发出去了,这时候,点下Go按钮,就能走下一步了

4.找到需要修改的请求后,选中该条会话,右侧打开WebFroms,这时候里面的参数都是可以修改的了
在这里插入图片描述
5.修改之后点Run to Completion就能提交了,于是就成功修改了请求参数了
6.打全局断点的话,是无法正常上网的,需要清除断点:rules-> automatic breakpoint ->disabled

单个断点

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

请求前断点(before response): bpu

·论坛登录接口:https://passport.cnblogs.com/user/signin
·命令行输入:bpu https://passport.cnblogs.com/user/signin 回车
·请求登录接口的时候,就会只拦截登录这个接口了,此时可以修改任意请求参数
·取消断点,在命令行输入: bpu 回车就可以了
在这里插入图片描述
响应后断点(after requests): bpafter

论坛登录接口:https://passport.cnblogs.com/user/signin

在命令行输入:bpafter https://passport.cnblogs.com/user/signin 回车

登录博客园,会发现已经拦截到登录后服务器返回的数据了,此时可以修改任意返回数据

取消断点,在命令行输入: bpafter 回车就可以了

拦截来自某个网站所有请求

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

fiddler模拟弱网测试

利用Fiddler来模拟恶劣的网络环境,实现简单,较为直观,缺点是只能支持那些利用HTTP进行通信和交互的服务。

打开fiddler,默认情况下Rules –> Performances –> Simulate Modem Speeds 是未勾选状态,网络正常。当选中此选项(模拟光猫网速)后,网速就会变很慢,打开一个网页要加载很久。这样就实现了弱网络效果。

Fiddler默认的Simulate Modem Speeds速度实在太慢了,而这个限速的参数是可以调整的,如果需要再快一点可以修改配置文件\Fiddler2\Scripts\CustomRules.js。(如若修改勿忘备份原文件)在fiddler官网http://www.fiddlerbook.com/Fiddler/dev/ScriptSamples.asp可以找到参考示例。

下面提供了两种简单的修改脚本的方法,选择一种即可。

static function randInt(min, max) {
    return Math.round(Math.random()*(max-min)+min);
}
if (m_SimulateModem) {
    // Delay sends by 300ms per KB uploaded.
    oSession["request-trickle-delay"] = ""+randInt(1,50);
    // Delay receives by 150ms per KB downloaded.
    oSession["response-trickle-delay"] = ""+randInt(1,50);
}


方法2
点击fiddlerScript 在代码里找到onBeforeRequest,这里定义了在发送请求前做什么。加入如下代码可以实现延迟:

oSession["request-trickle-delay"]="3000";  //请求阶段延迟3秒
oSession["response-trickle-delay"]="3000";  //响应阶段延迟3秒

上面两种方法选其一,修改后保存配置文件(Ctrl+S)或者清掉缓存(Rules –> Performances –>Disable Caching),再次勾选Rules –> Performances –> Simulate Modem Speeds 进行测速。注意:每次编辑并保存配置文件后,Simulate Modem Speeds选项会被取消,请重新勾选。
限速完毕一定要取消勾选,不然会影响上网。像第二种方法由于请求和响应都延迟3秒,会导致访问网页很慢。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值