APP抓包

# APP 抓包

# 一、Charles 抓包步骤

  • 环境:Charles 4.6.3 逍遥模拟器
  • 步骤:
    • Charles 中下载证书: Help–>SSL Proxying—>Save Charles Root Certificate…
    • 将证书保存到本地,然后将证书放入到与模拟器共享的文件夹下 (路径无所谓,只要是与模拟器共享的文件夹就行)
    • image-20230308160627308
    • 在模拟器的找到设置 -> 安全 -> 从 SDK 安装 -> 找到刚刚存放证书的文件 (我是放到音乐文件夹里,所以得在模拟器中找 Music 这个文件夹)
    • image-20230308161109823
    • image-20230308161126263
    • image-20230308161141735
    • 点击该文件进行安装即可

# 二、Burp 抓包

  • image-20230308163034121
  • 保存后,需要将证书后缀更改为 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抓包
https://rofgd.github.io/2023/03/08/APP抓包/
作者
ReadPond
发布于
2023年3月8日
许可协议