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

安卓7.0以上抓包配置--Charles

一、准备工作

  1. 下载并安装Charles

下载地址:Charles官方网站

安装步骤:按照提示完成安装,启动Charles。

  1. 获取电脑端Charles的IP地址和端口号

步骤:点击Charles菜单栏中的Help -> SSL Proxying -> Install Charles Root Certificate,选择“本地计算机”,完成安装后记下Charles代理的IP地址和端口号(默认为8888)。

二、在安卓设备上设置代理

  1. 连接同一网络

确保安卓设备与安装了Charles的电脑连接到同一个Wi-Fi网络。

  1. 配置代理设置

路径:进入手机的“设置”->“WLAN”,点击当前连接的Wi-Fi网络,选择“修改网络”。

代理设置:选择“手动”,输入Charles的IP地址和端口号(如192.168.137.1:8888),保存设置。

三、安装Charles证书

  1. 下载Charles证书

步骤:在手机浏览器中访问chls.pro/ssl 下载证书,如果下载失败,可以尝试访问 http://charlesproxy.com/getssl 直接下载证书。

  1. 安装证书

格式转换:将下载的证书文件后缀改为.pem 或.crt。

安装步骤:进入手机“设置”->“安全”->“更多安全设置”->“加密与凭据”->“安装证书”→“CA证书”,找到下载好的证书并安装。

四、信任Charles证书

  1. 信任证书

路径:进入手机“设置”->“关于手机”->“证书信任设置”,找到刚刚安装的Charles证书,开启信任。

五、高级操作(针对Android 7.0及以上版本)

  1. 导出Charles证书

步骤:在Charles中点击Help -> SSL Proxying -> Save Charles Root Certificate…,保存到桌面或其他位置。

  1. 计算证书Hash值

命令:打开终端或命令提示符,使用openssl命令计算证书的Hash值。

openssl x509 -inform PEM -subject_hash_old -in charles-ssl-proxying-certificate.pem

以我的为例,示例输出:2b1c7f38(此值为示例,实际值以计算结果为准)。
在这里插入图片描述

  1. 重命名证书文件

步骤:将证书文件重命名为计算出的Hash值,例如e8c698d2.0。

  1. 上传证书到安卓系统目录

两种方法:

方法一,使用adb:

步骤:使用adb工具将证书上传到安卓设备的系统根目录。

adb push 2b1c7f38.0 /system/etc/security/cacerts/

权限修改:上传完成后,赋予证书正确的权限。

adb shell chmod 644 /system/etc/security/cacerts/2b1c7f38.0

方法二,使用界面工具导入修改后的证书文件
在mac本地电脑上安装开源工具:
下载地址:https://github.com/ganeshrvel/openmtp/releases
在这里插入图片描述

安装后,打开工具直接拖动即可
在这里插入图片描述

以荣耀magic6为例,手机本地安装证书路径如下:
在这里插入图片描述

六、验证安装

  1. 重启手机(我是那个荣耀magic6,使用上面的方法二安装证书,没有重启手机就生效了)

确保证书生效,建议重启手机。

  1. 测试抓包

打开Charles,确认SSL Proxying已启用,尝试通过手机浏览器访问HTTPS网站,检查Charles是否能成功抓包。

相关文章:

  • 技能点总结
  • Android四大核心组件
  • 数据结构——二叉树和堆(万字,最详细)
  • Day 12
  • 【Vue】单元测试(Jest/Vue Test Utils)
  • React自定义Hook之useMutilpleRef
  • React19源码系列之 root.render过程
  • Animate 中HTMLCanvas 画布下的鼠标事件列表(DOM 鼠标)
  • 14、服务端组件:未来魔法预览——React 19 RSC实践
  • 权力结构下的人才价值重构:从 “工具论” 到 “存在论” 的转变​
  • 详解React Fiber架构中,reconcile阶段的具体工作流程
  • 【项目篇之消息序列化】仿照RabbitMQ模拟实现消息队列
  • PostgreSQL psql 命令和常用的 SQL 语句整理
  • WGS84(GPS)、火星坐标系(GCJ02)、百度地图(BD09)坐标系转换Java代码
  • 哈希封装unordered_map和unordered_set的模拟实现
  • 海思dump图原理
  • socket套接字-UDP(中)
  • java Optional
  • 【MQ篇】RabbitMQ之死信交换机!
  • OpenCV 图形API(65)图像结构分析和形状描述符------拟合二维点集的直线函数 fitLine2D()
  • 我国对国家发展规划专门立法
  • 申花四连胜领跑中超联赛,下轮榜首大战对蓉城将是硬仗考验
  • 特朗普将举行集会庆祝重返白宫执政百日,被指时机不当
  • A股三大股指涨跌互现,电力股走强,地产股冲高回落
  • 韩国对华中厚板征收临时反倾销税
  • 美联储官员:若特朗普高额关税致失业率飙升,将支持降息