Charles抓取手机上http/https请求的包

提示:Android7以后,Android系统不再信任用户级的证书,只信任系统级的证书,所以要抓https包就需要把代理程序(Charles)的证书安装至Android的系统目录(/system/etc/security/cacerts)中。

思路:手机与电脑连接在同个局域网中,通过Charles的代理进行请求外部的接口。
在这里插入图片描述

遇到的问题:

  1. 目的:将证书复制到/system/etc/security/cacerts/下提示只能读操作
    (操作的命令:cp /sdcard/c663ee18.0 /system/etc/security/cacerts/)
  2. 原因:由于adb的版本低的问题,导致adb disable-verity的时候显示出一大串command,意思就是没有adb disable-verity该命令;
  3. 解决:在更换高版本的adb(version 1.0.39)后,再次执行步骤:
    adb root
    #解决目录 read only 关键命令行
    adb disable-verity
    #重启
    adb reboot
    #以 root 权限运行
    adb root
    #重新挂载
    adb remount
  4. 结果:进入adb shell后,输入mount命令,查看ro是否改成rw;

参考博客:

APP 抓包和微信小程序抓包-Charles 的精简使用教程
https://blog.csdn.net/liqing0013/article/details/83010531

给Android7及以上的手机安装系统级证书,实现Fiddler或者其他程序的HTTPS的抓包
https://blog.csdn.net/ShadowySpirits/article/details/79756274

安卓7.0及以上用户证书导入的问题
https://blog.csdn.net/dixiaochang9350/article/details/101185081

Android:重新挂载system分区
https://blog.csdn.net/dc3120/article/details/86539928

猜你喜欢

转载自blog.csdn.net/sgx5666666/article/details/104339134