Charles抓取安卓app请求(安卓模拟器root)
一、安装Charles,设置代理(参考:https://www.cnblogs.com/lccsdncnblogs/p/16998548.html)
1.下载安装,https://www.charlesproxy.com/download/
2.激活
https://www.zzzmode.com/mytools/charles/
输入名称,点击生成即可
接下来进行激活操作
3.组件介绍
4.代理设置
二、移动端设置,我们用安卓模拟器,android7版本
1.开启模拟器设置手机分辨率
2.配置代理
安装要抓包的应用并打开
此时抓包有的请求出现没有返回值的情况
3.Android7.0之后版本导入证书
Android7.0之后新版本系统的安全限制导致,无法安装导入证书,无法正常抓包
①下载 Charless 根证书:charles-ssl-proxying-certificate.pem
下载步骤: Help → SSL Proxying → Save Charles Root Certificate...
②安装openssl,下载地址:https://slproweb.com/products/Win32OpenSSL.html
下载安装后通过start.bat启动
③这里需要你已经下载好了openssl)在cmd里面计算刚刚从Cherles上保存到你计算机的证书文件的hash值(下面的路径改成你自己的):
*.cer格式证书
openssl x509 -inform DER -subject_hash_old -in d:\xxx.cer
*.pem格式证书
openssl x509 -inform PEM -subject_hash_old -in d:\xxx.pem
计算后,将证书名字改成 哈希值.0
④
(先连接模拟器)然后将该文件导入/system/etc/security/cacerts/中即可
找到夜神模拟器安装的位置地址栏输入cmd
跟着图片的三条命令顺序走~~~(改成你自己的路径,证书hash名字)
adb root
adb remount
adb push D:\a308ad00.0 /system/etc/security/cacerts
⑤检查是否上传成功
-
adb shell
-
cd /etc/security/cacerts/
-
ls
成功找到了,说明上传成功
此时可以抓包成功