Fiddler的基本使用

一、抓包

1、打开fidder,并使之处于抓包模式,一般自动处于该状态

Fiddler的基本使用

2、打开要测试的系统(以下简称:OA)

3、操作:在OA中添加日报信息,并暂存

Fiddler的基本使用

4、抓包结果:

Fiddler的基本使用

二、模拟大量重复数据

1、意义:比如我想测试一下日报列表的翻页功能,一条一条的添加数据费时费力,直接抓包,然后多次回放请求(Replay),则可以达到添加多条重复数据的效果

2、操作:选中添加日报的post请求->点击Replay按钮,此时会重新生成一个请求,并且OA中会添加一条一样的数据,详情如下图所示。如果想要更多条数据,多次回放该请求即可

Fiddler的基本使用

Fiddler的基本使用

三、过滤规则

1、意义:目前我只想抓OA的数据包,所以为了避免其他数据包信息干扰,就需要用到过滤,即Filters筛选器。

2、操作:勾选Use Filters->在hosts区域选择“-No Zone Filter-”和“Show only the following Hosts”->在输入框中输入OA的域名->点击Actions按钮,选择Run Filterset now

Fiddler的基本使用

四、修改请求数据

1、意义:绕过前端,突破表单限制,测试服务器端有没有进行限制。拿OA举例子:工时限制最长是8小时,用Fiddler检查一下服务器端是否有限制

2、检查前端是否有限制:很明显有限制,不过没有提示最大工时-_-||

Fiddler的基本使用

3、开始检查服务器端有没有限制:

填写日报,工时设置为1

Fiddler的基本使用

4、设置断点类型:请求前

Fiddler的基本使用

5、点击暂存按钮,查看请求信息,第一个请求不是想要的,直接点击Run to Completion按钮,继续往下抓包

Fiddler的基本使用

6、抓到了想要的数据包,如图1所示;选中该请求后,点击Inspectors->点击Raw->修改工时(formData.mrgOaReport.hours)为2->点击Run to Completion,如图2所示

Fiddler的基本使用

                                                            图1

Fiddler的基本使用

                                                            图2

7、查看草稿列表中的日报时间,工时被成功改成了2

Fiddler的基本使用

8、按照上述方法,在修改界面提交时,设置请求前断点,然后把工时2改成9,修改成功。说明服务器端并未对工时做限制

Fiddler的基本使用

9、也可以直接在Composer中修改工时,相当于接口测试

操作:直接把暂存日报的请求拉到Composer中->修改Request Body中的日报时间为9->点击Execute执行按钮->查看草稿列表中是否存在该日报

Fiddler的基本使用

10、注意:涉及到支付金额类的功能,一定要在服务器端做校验。因为前端的校验太脆弱,容易被攻破。且修改方案可以让开发不要在数据包中添加价格和数量等敏感值。

五、修改响应数据

1、意义:想要测试对于一些异常情况,前端页面的容错能力。例如:后端传过来一段很长的文本想展示在文本框内,前端是如何处理的。拿OA中公告举例:标题字符输入过长,查看是否显示正常

2、操作:跟修改请求数据类似,具体步骤如下

3、fiddler设置断点:响应后(After Responses)

Fiddler的基本使用

4、OA发送请求,以下为正常响应数据

Fiddler的基本使用

5、等服务器返回响应后,拦截请求。修改响应数据后再发送请求

Fiddler的基本使用

6、查看OA前端显示,图1为拦截时公告详情界面显示,图2为修改数据并发送响应后的数据显示

Fiddler的基本使用

                                                             图1

Fiddler的基本使用

                                                              图2

六、代理浏览器被修改的解决办法:

抓包过程中总是中断,且提示:The system proxy was changed,原因是本地v*n服务在开启。即使关闭也没用,必须卸载!

Fiddler的基本使用

七、模拟弱网测试(针对手机app)

1、用ipconfig命令查看本机ip

Fiddler的基本使用

2、设置手机与电脑同一局域网

Fiddler的基本使用

3、设置fiddler的Options下的HTTPS和Connections

Fiddler的基本使用

Fiddler的基本使用

4、安装https的证书:在手机(以IOS为例子)浏览器中输入电脑ip和端口号,比如:192.168.7.12:8888,点击第二个链接添加证书

Fiddler的基本使用

5、去通用->关于本机->证书信任设置下,启用对该证书的信任

Fiddler的基本使用

6、确认Fiddler处于抓包模式,打开手机app进行操作

Fiddler的基本使用

7、模拟弱网设置:点击Rules->PerFormance->勾选Simulate Modem Speeds,再次访问app内页面,会发现网速比之前慢了

Fiddler的基本使用

8、修改网络延迟时间:点击Rules->Customize Rules,在弹出的脚本编辑器中查找m_SimulateModem关键字,以便修改代码

Fiddler的基本使用

9、添加如下函数和修改如下代码:(此处参考了网上大神的做法)

// 新增的随机整数函数,模拟不稳定的网速(注意添加的位置)

static function randInt(min, max) {

       return Math.round(Math.random()*(max-min)+min);

    }

Fiddler的基本使用

// 修改过的代码

        if (m_SimulateModem) {

            // Delay sends by 300ms per KB uploaded.

            // oSession["request-trickle-delay"] = "300";

            oSession["request-trickle-delay"] = ""+randInt(1,2000);

            // Delay receives by 150ms per KB downloaded.

            // oSession["response-trickle-delay"] = "150";

            oSession["response-trickle-delay"] = ""+randInt(1,2000);

        }

Fiddler的基本使用

10、设置完并保存后,需要重新开启模拟调制解调器(即勾选Simulate Modem Speeds)来启用新的设置

11、再次访问手机app,即可达到模拟不稳定的网速的效果。