在做手机或移动端APP的接口测试时,需要从开发人员那里获取接口文档,接口文档应该包括完整的功能接口、接口请求方式、接口请求URL、接口请求参数、接口返回参数。如果当前项目没有接口文档,则可以使用fiddler对APP进行抓包确认。

在手机上对APP进行操作,然后在Fiddler中可以抓取对应的网络交互信息(一个功能中可能设计多个接口的交互)。在抓取的信息中可以看到接口请求方式、接口请求URL、接口请求参数、接口返回参数。


下面是如何使用fiddler对手机APP进行抓包:

1、fiddler手机抓包原理

在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应。Fiddler 是以代理web 服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角色,所以可以解密https。

因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还可以支持请求重放等一些高级功能。它还可以支持对手机应用进行http抓包的。

下面就是手机抓包:

浏览器的代理设置默认是关着的,win7谷歌浏览器“设置--高级--系统--打开代理服务器--局域网设置--代理服务器”勾上。代理开关为开:可以抓到包,代理开关为关:抓不到包。

2、前提条件:

1).电脑需要安装Fiddler

2).测试手机需要支持Wifi

3).测试手机与电脑需要同一网络

4).所测APP需支持代理

3、Fiddler基本用法

界面布局:


打开Fiddler后,在浏览器中做任意请求,即可被Fiddler记录,包括返回码,请求协议,主机名,请求地址等等,

可在请求区域查看详细的请求信息,在响应区域查看详细的返回结果。

如下图


4、Fiddler对手机抓包流程

第一步:对Fiddler设置为允许远程连接。

找到Tools->Fiddler Options->Connections,将Allow remote computer to connect 选中,点击OK,然后重启Fiddler。

如下图:


第二步:修改手机连接网络为代理模式。

打开正在连接的wifi,然后找到:

1、修改网络(一般长按就会出现)


2、点击显示高级选项-->代理-->手动


代理服务器主机名设为电脑本地IP地址,端口设为:8888

如下图


补充:查看本地IP:打开cmd,输入ipconfig回车,然后查找IPv4地址

如下图:


第三步:在Fiddler中验证。

在手机中用浏览器或者其他APP,做网络请求,即可在Fiddler中记录,

例如:在手机打开浏览器,用百度搜索,这时在Fiddler中就会记录下请求。  

如下图:


还可查看不同格式的


5、Fiddler工具的优缺点

以上就是我在测试移动端APP时使用Fiddler进行抓包的常用方法和遇到的问题,下面再来说一说Fiddler的优缺点,以便大家能够在第一时间判断哪些情况下可以使用Fiddler而哪些情况是Fiddler无能为力的。

Fiddler之所能

查看Web流量及其顺序

查看每一对Request/Response的Header,Cookies,Cache,正文等信息及请求时间等

保存已经产生的请求序列用于后续查看或回放

解密HTTPS并查看其内容

修改Request/Response以满足特殊的测试或Hack需求

6、通过FiddlerScript和FiddlerExtention可以完成强大的可编程网络功能

Fiddler之所不能

Fiddler只能用于HTTP/HTTPS/FTP请求的debug,而对那些直接使用TCP协议,或者使用SMTP, POP3, Telnet, IRC等协议的数据包就无能为例了

Fiddler只能检测到通过Fiddler代理的流量

3、Fiddler所有的请求都是直接存储在内存中的,因此在处理很大的包时速度会比较慢

Fiddler是一个非常强力的HTTP协议调试工具,无论是用于网页测试还是客户端API测试都是一把利器,掌握好这个工具一定能让你在以后的工作中事半功倍。

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660