前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
作者:风,又奈何
环境准备
-
fiddler
-
appium
-
mitmproxy(mitmdump)
-
python3.6
-
自带root的安卓虚拟机
-
Android SDK
安卓模拟器需要安装xposed框架并安装JustTrustMe组件,因为抖音会有ssl验证,会导致我们在将数据发送到我们的抓包工具的时候无法联网,所以需要安装这个组件来关闭ssl验证
mitmproxy、AndroidSDK需要加入环境变量,这步就不再叙述
项目准备
首先我们需要给虚拟机安装fiddler、mitmproxy的证书
1)fiddler 主要设置如下
端口设置可以随意更改,本文设置为8889
电脑主机打开命令行 输入ipconfig查看本机IP
设置模拟器的代理
接下来打开浏览器,输入 ip:prot 如本机为 117.90.211.134:8889 下载安装fiddler证书 如下步骤
接下来我们就可以使用fiddler正确的抓取手机数据包了
2)mitmproxy证书
我们在Windows系统上常用的是mitmproxy的mitmdump 打开cmd输入mitmdump -p 端口号 就可以启动服务
为了方便我们将端口号也设置为8889 但是开启这个的时候需要先关闭fiddler 不然会端口冲突,然后打开模拟器的浏览器看看能否接受数据
我们发现出问题了,发现现在直接提示空的响应而不是证书的问题,看到mitmdump报的错误是 killed by block_global 是什么原因呢?
这是mitmdump的自我保护措施,它防止全球网络的连接,意思就是如果是本地局域网它不会阻拦,那该怎么办呢?
有两种解决办法:第一种,将模拟器的网络连接设置为桥接模式,这样就不会出现问题;
第二种办法是启动的时候加入参数 mitmdump -p 8889 --set block_global=false 如下图