03抓取移动APP请求
在手机上进行相应的设置,为手机抓包做准备
1.查看自己本机的IP在fiddler主界面,将鼠标移到【online】上面,就可以查看本地的IP地址了,如果你的fiddler没有显示【online】,可以通过【fiddler菜单——View——Show Toolbar】将【Show Toolbar】勾选中,就会显示【Online】信息了。
2.手机安装证书。(ios设置和Android设置基本一样)
前提条件:
手机和电脑要处于同一网络条件下(可以理解为:使用同一个WiFi)
fiddler的默认端口是:8888,不需要进行修改,使用默认的就可以。
一个手机可以安装多个证书,但是每安装的一个证书里面都设置有IP地址,所以:安装的证书和电脑IP是一一对应的,当前的这个证书只能针对某一台电脑使用,更换电脑后,该证书将不能使用,只能重新安装与更换的电脑的IP相同的证书才能使用。
第一步:手机下载证书。打开手机的浏览器,输入:【IP:8888】下载证书。
(注:中间的冒号一定要使用英文的冒号,中文的冒号是错误的)
例如:浏览器输入【http://192.168.xxx.xxx:8888】或者【192.168.xxx.xxx:8888】(这个地方的IP就是你电脑的IP)
第二步:安装证书.
有的手机可以直接点击已下载的文件进行安装,有的手机则不行。
如果不能直接安装证书,我们可以通过以下方法来安装证书。
1.Android:安装证书。由于安装系统众多,设置的方法不尽相同,下面几个方法以供参考。
手机——设置——搜索【证书】二字——选择:安装证书或者证书管理:点击安装证书,在你的众多文件里面去选择刚刚下载的fiddler的证书,点击安装
(注:选择安装的文件后,需要输入手机的锁屏密码。Android一定要有锁屏密码才能安装证书)
2.ios安装证书:直接点击已下载的文件安装即可,安装文件成功后,需要在【设置——通用——关于本机——证书信任设置】开启证书信任。
第三步:为手机设置代理.(ios和安卓差不多)
设置——无线网络(WLAN)——WLAN——长按已连接的WiFi 去修改网络——在高级选项里面——选择【手动代理】——出现以下界面,按图所示操作即可。
(或者长按通知栏WiFi按钮进入WiFi界面)
(有的机型需要先添加网络才能对网络进行修改,这个看个人手机情况)
04用Fiddler篡改请求数据
Fiddler拦截目标网页发出的请求,并篡改数据后发出。
访问目标网页,在fiddler的命令行输入bpu 目标网页网址并回车,然后在目标网页输入数据发送请求,fiddler拦截到请求,双击该请求,在请求的表单页签修改数据,然后点击run。
示例:①命令行中输入bpu https://home.51cto.com/index并回车。Fiddler底部如图所示,说明命令生效。
网页访问该网址,是一个登录页面。
输入正确的账号密码后点击登录如图所示,显示该页面正在加载中,而与此同时,fiddler表示收到一条消息。没错,发出的登录请求被拦截下来了。
上图所示,有红色标记的就是刚刚被拦截下来的登录请求,双击显示该请求。选中webform表单页签,可以清楚地看到我提交的登录信息。
此时我们修改password,然后点击绿色按钮run to completion,这条被篡改后的请求就发出去了并收到了响应。网页端如图所示,提示账号密码错误。
测试完成后,需要退出请求包拦截模式,只需在命令行中输入bpu回车即可,输入后如图。
05用Fiddler进行弱网测试
什么是弱网
验证在弱网的情况下软件的处理机制,从而避免因用户体验不友好造成用户的流失。弱网测试属于健壮性测试。在弱网测试条件下,要测试产品的运行状态、处理机制、提示信息,以及网络恢复后的重连等。
弱网环境带来的问题
1、操作时间慢。用户在地铁里操作手机APP,由于网络慢,页面加载不出来。原因可能是API在网络慢的情况下性能很差。用户在公交车上用手机APP看新闻,当公交车进入隧道的时候,网络变得很慢,APP上的新闻一直没法加载出来。我们需要测试每个API消耗的时间,这个指标可以衡量APP性能的好坏。
2、用户体验不好。一个安卓手机用户使用一款看小说的APP在地铁里看小说,当地铁进入隧道的时候,手机信号中断了。用户单击翻页,想看下一页的时候,因为网络中断,APP的界面卡死并且闪退。原因是APP不稳定,没有处理好网络中断的情况。
3、非正常情况下,出现Bug的可能性会增加。如一个电商的手机APP有秒杀优惠券的功能。一些APP用户在乘坐电梯的时候,使用APP来秒杀优惠券。单击秒杀优惠券的按钮后,APP响应缓慢。于是,用户重复单击秒杀优惠券按钮。这就造成了几乎同一时间,同一个用户有多个HTTP请求发送服务器,形成了并发,结果用户抢到了多张优惠券。
弱网的场景
1、网络慢或者延迟,导致加载时间长。 2、网络中断,Web服务器返回500等状态码。 3、网络超时,HTTP请求发出去后,很久都没有响应。Fiddler模拟网络延迟 1、启动Fiddler,选择Rules - Performances - Simulate Modem Speeds 2、打开浏览器,访问网站。 3、想要修改弱网参数的话,可以点击fiddlerScript 在代码里找到onBeforeRequest
改动数值,保存Script即可。
4、保存完之后,原本已经勾选的Simulate Modem Speeds会被取消勾选:再次选中 Rules - Performances - Simulate Modem Speeds
5、再次打开浏览器,访问网页
Fiddler还有很多的用处,也需要大家在实践中逐步去了解,另外协议的基础知识也是必不可少的。