当前位置: 首页 > news >正文

【爬虫】charles手机抓包环境设置(设置系统证书)

1.说明

想要对手机抓包,最关键的是需要设置好根证书,用户证书在安卓7.0之后就不受信任了,想要对手机app抓包,就需要把用户证书设置为系统证书(根证书)

注意,想要设置为根证书,你的安卓需要获取到root权限,但是root会有风险,很大app(如银行类app)都不能在已root的设备上运行,所以一般推荐使用模拟器操作,此处以雷电模拟器9和charles为例进行演示

2.charles设置

设置ssl抓包类型,菜单栏Proxy–SSL Proxy Settings,勾选“Enable SSL Proxying”,新增一个类型,IP端口都设置为“*”(表示全部)
在这里插入图片描述

设置远程端口,菜单栏Proxy–Proxy Settings,Http Proxy这里设置一个端口号,例如8888,勾选下面两个传输类型
在这里插入图片描述
查看远程安装证书信息,点击菜单栏Help–SSL Proxying–Install Charles Root Certificate on a Mobile Device or Remote Browser,它弹出一个窗口,显示本机代理的IP端口(我这里是10.10.66.1:8888),以及证书下载URL(chls.pro/ssl
在这里插入图片描述

3.模拟器设置

打开模拟器的设置页面,找到root选项把它开启,大多数模拟器都支持root,都是在设置界面可以打开root开关,如果有写入设置也需要开启
在这里插入图片描述
打开系统设置,找到WLAN设置,然后把点击当前网络右上角的编辑按钮,把代理设置为Charles帮助信息显示的IP端口即可
在这里插入图片描述

4.设置用户证书

打开系统自带的浏览器,它会弹出证书不受信任的问题,不管它,一路点击“继续”知道不弹出提示。现在访问一下chls.pro/ssl,此时Charles那边应该会有一个确认按钮,确认之后模拟器就会下载证书,下载完完成之后点击安装,模拟器会提醒设置一个锁屏(图案或pin都可以),这时候就可以安装证书了,证书名可以随便写
在这里插入图片描述

5.设置系统证书

现在设置的是用户证书,在安卓7之后app是不信任用户证书的,所以我们还需要把它设置为系统证书,其实就是把这个证书文件复制到系统证书目录里就行

用户证书目录:/data/misc/user/0/cacerts-added/
系统证书目录:/system/etc/security/cacerts/

这个操作很容易,只要获取到root权限就行,你可以直接在文件管理器里把系统证书复制到用户证书的文件夹里,证书是一个.0结尾的文件,我这里是ca499da3.0,如果以前没有安装过用户证书,那用户证书文件夹里只有一个文件,很好找到的
在这里插入图片描述

如果你有adb,也可以使用adb的shell操作

adb devices
adb shell
su
mount -o remount,rw /system
cp /data/misc/user/0/cacerts-added/ca499da3.0 /system/etc/security/cacerts/

另外我们可以发现,其实证书文件的文件名就是一个哈希值,你也可以直接从charles导出证书,然后复制到安卓的证书文件夹里就行,但这种做法前提是你能使用openssl

首先,导出Charles证书文件(pem格式)在这里插入图片描述
然后使用openssl生成哈希(证书文件名)

openssl x509 -subject_hash_old -in 证书文件路径

在这里插入图片描述
之后把Charles证书文件改名为哈希.0,最后使用adb把它push到对应的证书文件夹里即可

http://www.lryc.cn/news/210819.html

相关文章:

  • 【flink sql table api】时间属性的指定与使用注意事项
  • 评价模型:CRITIC客观赋权法
  • 两个Tomcat插件配置不同端口,session冲突,同时登录被挤下线问题的解决
  • Mybatis中执行Sql的执行过程
  • IEEE Standard for SystemVerilog—Chapter 25.7 Tasks and functions in interfaces
  • 一台服务器最大能支持多少条 TCP 连接
  • Qt重定向QDebug,Qt/C++开源作品39-日志输出增强版V2022
  • linux入门---多线程的控制
  • 基于android的 rk3399 同时支持多个USB摄像头
  • 【Qt之控件QTreeView】设置单元格高度、设置图标尺寸
  • 力扣42.接雨水(java,暴力法、前缀和解法)
  • hdlbits系列verilog解答(移位寄存器)-23
  • Linux命令记载
  • Flume 快速入门【概述、安装、拦截器】
  • 【pandas技巧】group by+agg+transform函数
  • 一文解读WordPress网站的各类缓存-老白博客
  • 从零开始:开发直播商城APP的技术指南
  • GZ035 5G组网与运维赛题第6套
  • 分类预测 | Matlab实现KOA-CNN-GRU-selfAttention多特征分类预测(自注意力机制)
  • 【Qt】QString怎么转成int
  • ubuntu 22.04 安装python-pcl
  • 【题解】[GenshinOI Round 3 ]P9817 lmxcslD
  • 在pycharm中,远程操作服务器上的jupyter notebook
  • SQL 运算符
  • 中间件安全-CVE 复现K8sDockerJettyWebsphere漏洞复现
  • 系列九、什么是Spring bean
  • 轻量封装WebGPU渲染系统示例<4>-CubeMap/天空盒(源码)
  • Linux 环境变量 二
  • Beyond Compare4 30天试用到期的解决办法
  • sentinel规则持久化-规则同步nacos-最标准配置