接口测试(二)--APP抓包

【转载】接口测试第二课(APP抓包)

在讲抓包之前,先讲个小故事:

某程序猿写JS,自己手机没电了,拿同事老王的安卓机调试,很简单的获取用户微信昵称,结果死活获取不到,一直显示为null。应该是跨平台问题,因为之前在自己iPhone上是没有bug的,拼命看api文档,但是都没提到这方面。急死我了。


———————更新—————————
刚刚老张告诉我他的昵称就是null。

———————更新—————————
A:“听说老王昨天被同事打死了。”
B:“哎。前天还发朋友圈呢。”
A:“是啊,年纪轻轻的,挺可惜的。”

————————说明——————————
前面夸张修辞,老王最后当然没死,腿打断了而已。

-----------------------------------进入正题------------------------------------------------

如果会抓包查看前后端交互数据,就能避免这种惨剧发生,由此可见抓包的重要性!接下来,我们就来学习下APP如何抓包?

Fiddler简介:

Fiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据。

Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。 对于PC端Fiddler启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以如果需要监听PC端Chrome网络请求,将其代理改为127.0.0.1:8888就可以监听数据了,手机端按照下面的设置即可完成整个系统的http代理。

第一步:下载神器Fiddler,下载链接:

下载完成之后,傻瓜式的安装一下了!


第二步:设置Fiddler
打开Fiddler, Tools-> Fiddler Options (配置完后记得要重启Fiddler)
选中'Decrpt HTTPS traffic', Fiddler就可以截获HTTPS请求
选中'Allow remote computers to connect'. 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来

接口测试(二)--APP抓包

记住这个端口号是:8888

第三步:设置Android手机

首先获取PC的ip地址:命令行中输入:ipconfig,获取ip地址

接口测试(二)--APP抓包

好吧,这时候我就拿到了IP地址和端口号了

下面来对Android手机进行代理设置,本人使用的是小米4

确定一下手机和PC是连接在同一个局域网中

进入手机的设置->点击进入WLAN设置->选择连接到的无线网,点右边的箭头(有的手机是长按弹出选项框):如图所示:

接口测试(二)--APP抓包

代理这一行,选择:手动

选择修改网络配置:

1)配置主机名:与主机电脑IP地址保持一致

2)端口号:8888

接口测试(二)--APP抓包

点击保存。这样就将我们的手机设置成功了。

第四步:打开要测试的APP,然后打开电脑上的fiddler界面,如下图

接口测试(二)--APP抓包

这样就抓取Android移动端的数据包成功了,这个对于我们后面进行网络数据请求的调试有很大的帮助,我们可以通过这个方法来判断我们请求网络是否成功!

注:一般http请求,不用安装安全证书;如果是https的请求,设置代理后,会无法访问,这时候就需要安装安全证书了。

第五步:下载Fiddler的安全证书

使用手机的浏览器打开:http://10.224.xx.xx:8888, 点'FiddlerRoot certificate' 然后安装证书,如图:

接口测试(二)--APP抓包

抓包容易,分析难,那么如何去分析呢,接下来的课程,会讲HTPP协议,感兴趣的小伙伴可以提前预习下。