技术资讯

APP开发就要学会fidder对Android app进行抓包

TIME:2018-06-02

先来说说为什么要抓包。
我们在开发android app的时候。很多时候是要涉及到与后端进行交互。我们做前端的程序员在开发app的时候,需要知道触发事件的时候。后台有没有返回数据,你向后台提交数据有没有成功。举个例子:
我们测试登陆app界面的时候。输入用户名与密码。提交的时候,就需要向后端请求结果,后端会根据用户名和密码去查询数据库,如果正确,就返回一个true,就可以正确跳转到下一个activity.如果为false,就向用户显示密码或用户名错误。
这个过程,我们就需要知道,点击按钮的时,手机app是否向后端发送了数据,发送数据成功,后端有没有回传一条数据,此时我们就需要用到抓包工具,就可以一目了然。
这里我介绍使用fiddler抓包工具。

第一步:百度搜索fiddler

QQ截图20160628161755.png

由于fiddler的服务器在国外,打开http://www.telerik.com/fiddler 速度很慢。我们可以选择使用百度软件中心下载,使用360安全卫士的,可以在360软件管家直接下载。

第二步:配置电脑端
启动Fiddler,开始设置。点击“tools-->fiddler options”.
Fidder Options中,HTTPS勾选“Ignore server certificate errors (unsafe)

QQ截图20160628162533.png

在Connections中勾选“Allow remote computers to connect”

QQ截图20160628162711.png

电脑端配置完毕,重启fiddler.

第三步:在手机端进行配置。
此时手机端与电脑端必须在同一个局域网下。什么叫在同一个局域网,就是手机与电脑同时连接一个路由器。
找到手机端的wifi,长按wifi,弹出对话框,点击"修改网络"


Screenshot_2016-06-28-16-31-43.jpeg

选中“显示高级选项”


Screenshot_2016-06-28-16-33-02_看图王.jpeg

在里面设置手动代理,此时需要输入代理服务器主机名和代理服务器端口。
Screenshot_2016-06-28-16-33-23_看图王.jpeg

那么代理服务器主机名与代理服务器端口在那,在电脑上。先来找代理服务器主机名。运行cmd命令,输入ipconfig,里面的IPv4地址就是主机名。将这一串数据在手机端输入。此时需要注意:一定是无线局域网适配器WLAN下的IPv4地址。


QQ截图20160628164053.png

再来找代理服务器端口,这个端口在fiddler里面,下图中的8888就是我们需要端口。将它输入到手机端上。


QQ截图20160628162711.png

此时需要验证一下代理服务器是否配置成功,根据你刚才查询到的代理服务器主机名和代理服务器端口。在浏览器中输入:代理服务器主机名:代理服务器端口。格式如:192.168.31.201:8888(这是我的)

Screenshot_2016-06-28-16-33-39_看图王.jpeg

则配置成功,否者就是配置失败,你就需要检查一下自己的步骤是否有问题。。
现在你可以在fiddler上对手机app进行抓包。
此时你会发现fiddler抓取的数据包包括了电脑端和手机端的,而手机端的又包括了不同app的数据包。此时就需要过滤了。在fiddler的右侧:


QQ截图20160628164815.png

在"show only if URL contains"里面输入你开发app与后端请求数据时后端的ip地址和端口号。此时就就可以正确得到你想要的包。
成功获取到包如图所示,右边显示fiddler抓到的包,而左边显示包的内容。在“Inspectors”里面,分为上下两个部分,上面部分是你发送的包的数据,下面部分是你接受到包的数据。

QQ截图20160628165234.png

.
这就是完整是配置fiddler与初步使用fiddler.
如果大家还有什么好用的工具,一起交流,一起学习。


作者:小子520
链接:https://www.jianshu.com/p/99df5423a839
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

上一篇

mysql大数据SQL查询优化30条建议!

下一篇

使用MySQL处理百万级以上数据时,不得不知道的几个常识