Charles抓取手机上http/https请求的包
提示:Android7以后,Android系统不再信任用户级的证书,只信任系统级的证书,所以要抓https包就需要把***程序(Charles)的证书安装至Android的系统目录(/system/etc/security/cacerts)中。
思路:手机与电脑连接在同个局域网中,通过Charles的***进行请求外部的接口。
遇到的问题:
- 目的:将证书复制到/system/etc/security/cacerts/下提示只能读操作
(操作的命令:cp /sdcard/c663ee18.0 /system/etc/security/cacerts/) - 原因:由于adb的版本低的问题,导致adb disable-verity的时候显示出一大串command,意思就是没有adb disable-verity该命令;
- 解决:在更换高版本的adb(version 1.0.39)后,再次执行步骤:
adb root
#解决目录 read only 关键命令行
adb disable-verity
#重启
adb reboot
#以 root 权限运行
adb root
#重新挂载
adb remount - 结果:进入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