满堂花醉三千客,一剑霜寒十四洲。这篇文章主要讲述charles——OpenSSL——安卓7.0以上https抓包相关的知识,希望能为你提供帮助。
参考1:https://blog.csdn.net/djzhao627/article/details/102812783?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&
depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
参考2:https://www.cnblogs.com/duobazi/p/11588993.html
参考3:https://blog.csdn.net/ShadowySpirits/article/details/79756274
文章图片
【charles——OpenSSL——安卓7.0以上https抓包】
=====================================================================================================
解决Charles不能抓到https的问题 1.用Charles导出证书,随便命名 charles.pem
文章图片
2.安装open ssl(http://slproweb.com/products/Win32OpenSSL.html),然后配置环境变量,把openssl安装路径bin的路径(例如 C:\\OpenSSL-Win64\\bin)加入到操作系统的系统环境变量Path中
文章图片
3.将导出的的证书(charles.pem)导入电脑中
4.在cmd中输入
openssl x509 -subject_hash_old -in < Certificate_File>
< Certificate_File> 为刚才下载的证书(charles.pem),这个路径为绝对路径
文章图片
然后将 charles.pem 这个文件改为 生成的数字加.0,例如
文章图片
5.然后在用前端根证书导入的方法导入证书
adb root
adb remount
adb push 0505096d.0 /etc/security/cacerts/
adb shell chmod 644 /etc/security/cacerts/0505096d.0
如果remount或push失败,需要执行以下命令
adb disable-verity
adb reboot
6.以上方法一般可以抓到了,如果还是不行,需要配置 Proxy——SSL Proxying Settings——SSL Proxying,勾选Enable ——SSL Proxying,点击“add”,将Host和Port配置为*,如下图所示:
文章图片
=========================================================================================================
给android7及以上的手机安装系统级证书,实现HTTPS的抓包Android7以后,系统不再信任用户级的证书,只信任系统级的证书,所以要抓包就需要把我们的代理程序证书安装至Android的系统目录中
准备
- 一台已root的手机
- Openssl
文章图片
文章图片
文章图片
执行命令:C:\\Users\\del> cd C:\\Users\\del\\Desktop
执行命令:C:\\Users\\del\\Desktop> openssl x509 -subject_hash_old -in Charles.pem
文章图片
然后改名:
文章图片
将新证书放入手机系统证书目录
手机系统目录位置是:
/system/etc/security/cacerts需要拷贝至此目录必须拥有root权限
重启Android设备以生效
拷贝证书至
/system/etc/security/cacerts
之后,重启手机就可以使证书生效了5.然后在用前端根证书导入的方法导入证书
adb root
adb remount
adb push 0505096d.0 /etc/security/cacerts/
adb shell chmod 644 /etc/security/cacerts/0505096d.0
如果remount或push失败,需要执行以下命令
adb disable-verity
adb reboot
6.以上方法一般可以抓到了,如果还是不行,需要配置 Proxy——SSL Proxying Settings——SSL Proxying,勾选Enable ——SSL Proxying,点击“add”,将Host和Port配置为*,如下图所示:
文章图片
推荐阅读
- append(),prepend(),after(),before()
- Android连载11-新闻app优秀实践
- 安卓开发之SQLite(数据的增删改查)
- 下载Android代码
- web前端入门到实战(CSS 滚动捕捉技术(Scroll Snapping))
- 什么是项目和项目管理(基本概念介绍)
- 什么是瀑布模型(答案在这里——)
- 项目管理工具有哪些(详细解读——)
- 什么是项目活动(基本概念解释)