使用fiddler+模拟器进行APP抓包

.PC(笔记本)参数进行配置

1. 配置fiddler允许监听到https(fiddler默认只抓取http格式的)

打开Fiddler菜单项Tools->Options->HTTPS,勾选CaptureHTTPS CONNECTs,点击Actions,勾选Decrypt HTTPS traw icIgnore servercertificate errors两项,点击OK(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes就行),点击Actions中的Trust Root Certificate,一直确定就好。见图:

图片[1] - 使用fiddler+模拟器进行APP抓包 - 正则时光
配置fiddler允许监听到https

2.配置fiddler允许远程连接

上一步窗口中点击Tools->Options->Connections,勾选allow remote computers toconnect,默认监听端口为8888(下图Fiddler listens on port就是端口号),若端口被占用可以设置成其他的,配置好后要重新启动fiddler,如下图:

图片[2] - 使用fiddler+模拟器进行APP抓包 - 正则时光
配置fiddler允许远程连接

点击完成之后,PC端配置完成,接下来开始配置手机端,以安卓为例,iOS方法同安卓;

二.对手机端(模拟器)进行参数配置

1.准备工作

电脑IP地址:首先要保证手机和电脑都处于同一个网络;然后要知道电脑的ip地址(当然这个电脑是安装fiddler的电脑),电脑ip地址可通过cmd,输入ipconfig查询,或网络共享中ipv4找到,我的是192.168.103.53。

fiddler的端口号:在fiddler 工具中点击Tools->TelerikFiddler Options->Connections,port中值就是端口号,一般默认为8888;也就是上面刚刚设置的端口号。

设置全局代理:如果是连接的模拟器,直接使用下面的adb命令就可以。如果是手机就安装postern全局代理工具(工具使用方法自行百度)。至于为什么要设置全局代理呢?看下面的图,不设置的话。最后操作完了就只能抓到模拟器的数据,模拟器里面的APP的数据就抓不到了。

adb shell settings put global http_proxy 本机ip:8888

adb shell settings put global http_proxy :0 #取消全局代理

图片[3] - 使用fiddler+模拟器进行APP抓包 - 正则时光

2.手机端(模拟器)安装证书

前面设置了全局代理的,到这里就可以进行抓包了。可以先打开fiddler,再打开手机(模拟器)中的APP进行操作。看看是不是能够抓取到内容了。我这里实验了是可以的。

注意:设置了fiddler代理的话,必须先打开fiddler代理工具,然后在手机中才可以连接到网络!

3.更改手机无线网的代理

这里还是介绍一下,没有设置全局代理是怎么做的吧!

手机系统设置-无线网

点击高级,代理选择手动,主机名就是fiddler的电脑ip地址,端口号,就是fiddler的端口号,与浏览器中ip:端口号保持一致,点击确定即可

图片[10] - 使用fiddler+模拟器进行APP抓包 - 正则时光

操作手机,电脑fiddler中会显示一些http信息,成功;

4.抓包成功!

图片[11] - 使用fiddler+模拟器进行APP抓包 - 正则时光

三、常见问题

1.只抓取到模拟器的信息,里面的APP信息抓不到。

解决办法:上面的设置全局代理

2.模拟器一直出现安全证书有问题。

图片[12] - 使用fiddler+模拟器进行APP抓包 - 正则时光

一直点击到消失。如果不行直接把fiddler断掉,不连网就不检查了嘛。然后进行下面的操作。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享