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日
许可协议