Android 7.0以上高版本,使用Charles抓取HTTPS数据

一、前提准备

1.一台 Android 7.0 以上版本手机

2.JustTrustMe 插件

3.VirtualXposed 工具

4. Charles 软件

二、软件下载地址

1. JustTrustMe V 2 版本 兼容(Android 7.0)

https://github.com/Fuzion24/JustTrustMe/releases/download/v.2/JustTrustMe.apk

2. JustTrustMe V 4 版本 兼容(Android 10-11)

https://github.com/gfbjngjibn/JustTrustMe/releases/download/v.4/JustTrustMe.apk

3. VirtualXposed 工具

https://github.com/android-hacker/VirtualXposed/releases/download/0.20.3/VirtualXposed_0.20.3.apk

4. Charles 工具

https://www.charlesproxy.com/download/

三、安装 VirtualXposed工具与JustTrustMe插件

VirtualXposed、 JustTrustMe 安装成功后,JustTrustMe没有桌面快捷键,因为它是个插件。

1. 打开VirtualXposed (查看下图)

在这里插入图片描述

四、配置 Charles 抓包工具

1. 打开Charles 软件

2. 配置 Proxy Settings

在这里插入图片描述
在这里插入图片描述

3. 配置 SSL Proxying Settings

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4. 查看本地IP地址 (代理需要)

① Windows +R 输入 cmd 回车
② 输入 ipconfig 回车

Wireless LAN adapter WLAN:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::e115:4529:e477:a2c8%11
   IPv4 Address. . . . . . . . . . . : 192.168.60.112
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.60.1

找到 IPv4 Address  IP地址

5. 手机配置代理 (测试机 华为)

① 点开系统设置,找到 WLAN 进入
② 选择连接WIFI 长按点击修改网络
在这里插入图片描述
在这里插入图片描述

6. Android 下载安装 Charles 证书

① 打开手机默认浏览器 输入代理 IP:8888 或者 http://chls.pro/ssl,下载证书。
在这里插入图片描述
② 导入Charles 证书,点击系统设置,点击搜索输入:从存储设备安装

在这里插入图片描述在这里插入图片描述在这里插入图片描述

安装时需要输入密码,密码是:您手机解锁密码

在这里插入图片描述

7. 安装需要抓包 APP

省略

五、配置VirtualXposed工具与JustTrustMe 插件

1. 打开VirtualXposed工具

在这里插入图片描述

2. 添加应用(抓包应用于抓包插件)

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3. 模块管理(勾上抓包插件)

如果有权限插件、文件管理插件都需要在这里勾选上,并且需要重启 VirtualXposed 工具

在这里插入图片描述

4. 重启VirtualXposed工具

最好是结束后台进程重启

六、开始对APP 进行抓包

1. 进入VirtualXposed工具

在这里插入图片描述
在这里插入图片描述

2. 操作App功能,获取抓包数据

在这里插入图片描述

附件:

  1. VirtualXposed 获取抓包App 权限需要安装 XPrivacyLua 工具(请自行下载安装,操作步骤也需要在VirtualXposed 添加应用)
使用 Charles 抓取 HTTPS 数据时,需要进行一系列配置来启用 SSL 代理功能,使得 Charles 能够作为中间人解密 HTTPS 流量。以下是详细的配置方法: 1. **安装 Charles 的 CA 证书** 在抓取 HTTPS 数据之前,必须安装 Charles 的根证书,这样才能进行中间人解密。可以通过 Charles 的菜单栏选择 `Help` → `SSL Proxying` → `Install Charles Root Certificate` 来安装证书。安装后,系统会提示信任该证书,确保选择始终信任[^1]。 2. **启用 SSL 代理设置** 打开 Charles,点击顶部菜单栏的 `Proxy` → `SSL Proxying Settings`。在弹出的窗口中,点击 `Add` 按钮,输入 Host 为 `*`,Port 为 `443`,然后点击 `OK`。这样可以启用对所有 HTTPS 网站的代理。最后重启 Charles 以确保设置生效[^3]。 3. **配置设备代理** 如果要抓取移动设备上的 HTTPS 流量,确保设备与运行 Charles 的电脑处于同一局域网中。然后在设备的 Wi-Fi 设置中配置代理,输入运行 Charles 的电脑的 IP 地址和端口号(默认为 8888)。此外,可以在 Charles 的 `Help` → `SSL Proxying` → `Install Charles Root Certificate on a Mobile Device or Remote Browser` 页面查看推荐的 IP 地址,若显示的是无线网络 IP 地址,建议关闭无线网络以避免冲突[^2]。 4. **处理 Android 7.0 及以上版本的信任问题** Android 7.0 及以上系统默认不再信任用户安装的证书,因此需要使用 VirtualXposed 工具配合 JustTrustMe 插件来绕过证书验证。在 VirtualXposed 中添加需要抓包的应用,并启用 JustTrustMe 插件,重启后即可正常抓取 HTTPS 流量[^4]。 5. **开始抓包** 配置完成后,启动 Charles 并打开需要抓包的应用。Charles 会自动记录所有 HTTP/HTTPS 请求。对于 HTTPS 请求,如果配置正确,Charles 会显示解密后的明文数据;否则会显示为加密状态,此时需要检查证书安装和 SSL 代理设置是否正确[^1]。 ```python # 示例代码:模拟 HTTPS 请求抓包数据结构 class HTTPSPacket: def __init__(self, host, path, method, headers, body): self.host = host self.path = path self.method = method self.headers = headers self.body = body def display(self): print(f"Host: {self.host}") print(f"Path: {self.path}") print(f"Method: {self.method}") print("Headers:") for key, value in self.headers.items(): print(f" {key}: {value}") print(f"Body: {self.body}") # 模拟一个 HTTPS 请求 packet = HTTPSPacket( host="example.com", path="/api/data", method="GET", headers={"User-Agent": "Charles", "Accept": "application/json"}, body="" ) packet.display() ```
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一禅(OneZen)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值