APP抓包
# APP 抓包
# 一、Charles 抓包步骤
- 环境:Charles 4.6.3 逍遥模拟器
- 步骤:
- Charles 中下载证书:
Help–>SSL Proxying—>Save Charles Root Certificate…
- 将证书保存到本地,然后将证书放入到与模拟器共享的文件夹下 (路径无所谓,只要是与模拟器共享的文件夹就行)
- 在模拟器的找到设置 -> 安全 -> 从 SDK 安装 -> 找到刚刚存放证书的文件 (我是放到音乐文件夹里,所以得在模拟器中找 Music 这个文件夹)
- 点击该文件进行安装即可
- Charles 中下载证书:
# 二、Burp 抓包
- 保存后,需要将证书后缀更改为
Burp.cer
,模拟器中无法识别Burp.der
后缀,更改完后,安装与上面安装相同
# 三、抓包当中遇到的问题
- 在模拟器中测试时,设置代理后,通过代理能正常访问浏览器,并且 Burp 中有数据包测试抓包正常情况下,打开某个 APP 后发现抓包工具中没有任何数据包返回,同时 APP 中有
网络连接失败
等相关网络提示。可能存在以下情况:- 此 APP 内部有反代理机制
- 自身抓包应用
- 使用 Proxifier PE 转发
- 大致原理:如果设置了系统代理 app-> 代理服务器 ->burp-> 服务端,APP 检查模拟器或者手机的代理设置,发现设置代理则会出现网络连接异常。但是如果使用 Proxifier PE 软件进行转发 (app->Proxifier PE-> 本地 burp-> 服务),则不需要设置系统代理,相当于 (模拟器的网络出口时通过本机进行的) 将 APP 的流量流向 Proxifier PE,通过 Proxifier PE 将流量传递出去。
- 证书问题,如果代理开的是 http 代理,但是 APP 数据走的是 SLL/https
- 情况 1,客户端不存在证书校验,服务器也不存在证书校验。
- 情况 2,客户端存在校验服务端证书,服务器也不存在证书校验,单项校验。
- 情况 3、客户端存在证书校验,服务器也存在证书校验,双向校验。
- 抓包使用 Burp 等抓包工具时,证书使用的是抓包工具自身的证书,并不是 APP 本身的证书,所以双向校验时前后端证书不一致就会出现开了 http 代理 app 不能正常运行
- 此 APP 内部有反代理机制
APP抓包
https://rofgd.github.io/2023/03/08/APP抓包/