APP 数据抓取 - Charles 抓包工具的使用(Charles 端口配置、CA 证书配置、Charles Android 模拟器配置)

前言说明

此文章是我在学习 Charles APP 抓包时编写,内容都是亲测有效,文章内容也有参考其他人,参考文章如下:

编写此文章时,依旧在升级打怪中(APP 抓包学习中。。。),内容还需完善


更新时间:08.31

更新内容:

  • 增加了Charles 案例,内容包括:抓包分析、修改请求内容重发出去、修改响应内容
  • 排版优化

本文章内容:

  • Charles 基本配置(端口,CA证书)
  • windows 配置 CA 证书
  • Android 配置 CA 证书
  • Iphon 配置 CA 证书
  • mumu 模拟器配置 CA 证书
  • charles 基本使用

读者可根据所需内容,跳转到该内容


目录

前言说明

一、设置好 charles 的代理

charles 的配置

端口配置

配置 CA 证书

Charles 配置

PC(Win) 配置

Android

Iphone

mumu 模拟器配置 CA 证书

1. 设置 mumu 模拟器

2. 制作 CA 证书

1)用 Charles(点击下载 Charles>>)导出证书,命名为 charles.pem

2) OpenSSL 签发证书

3) 重命名文件

3. 把签发好的 24e12a67.0 证书上传到 mumu 模拟器 Android 系统里。

1)提前准备好 adb 工具

2)连接 mumu 模拟器

4. 查看是否上传到,可以再次登录 shell 查看

5. 案例

1. 准备

2. 分析

3. 重发

4. 修改响应内容


一、设置好 charles 的代理

Charles download: 点击跳转

charles 的配置

抓包之前需要配置端口和 CA 

端口配置

charles 中 [proxy->proxy Settings]设置进行代理的端口

配置 CA 证书

[Help->SSL Proxying]点击 install charles root certificate on a mobile device or remote browser,查看如何与 charles 相连

Charles 配置

如果不执行这一步骤,将无法抓取 HTTPS 协议

(1)点击顶部菜单栏[Help]–> 选择 [SSL Proxying],点击[install Charles Root Certificate]安装 Charles 证书,最后提示导入成功即可。

(2)点击[Proxy] –> [SSL Proxying Settings…](Ctrl + Shift + L),在弹出选项卡中,勾选[Enable SSL Proxying] 点击 [add],在 Host 输入[*]表示接收任何主机,在 Prot 输入 [*] 最后点击 [ok] 保存。

(3)确保 [Windows Proxy] 功能打上对勾,做法 : [Proxy

为了使用 Charles 抓包工具获取大众点评应用中店铺的开业时间数据,需要通过以下步骤进行抓包分析: 1. **配置 Charles 的基本环境** 在电脑上安装并启动 Charles 抓包工具。确保 Charles 的监听端口(默认为 8888)已正确设置,并在 Android 设备或模拟器配置代理,使其指向运行 Charles 的计算机 IP 地址和端口号 [^1]。 2. **安装 CharlesCA 证书以支持 HTTPS 抓包** 由于大众点评 APP 使用 HTTPS 协议进行通信,因此需要在 Android 设备上安装 CharlesCA 证书以解密 HTTPS 流量。访问 `chls.pro/ssl` 下载证书文件,并根据设备提示完成安装 [^1]。 3. **过滤目标请求** 打开大众点评 APP,在搜索栏中查找特定店铺并进入其详情页面。此时,Charles 会捕获到多个网络请求。可以通过过滤器(Filter)功能筛选出与店铺信息相关的请求,例如包含 `/shop/` 或 `/business/` 路径的 URL [^2]。 4. **分析响应数据** 查看筛选后的请求响应内容(通常为 JSON 格式),在其中寻找表示店铺开业时间的字段。该字段可能命名为 `open_time`、`established_date` 或类似名称。若响应数据被加密,则需要进一步分析 APP 的反序列化逻辑。 5. **结合 Hook 工具输出结构化解析对象** 若无法直接从 HTTP 响应中获取明文数据,可以借助 Hook 框架(如 Frida)对大众点评 APP 中解析店铺信息的对象进行 Hook。使用 `r0gson.dex` 可将 Java 对象转换为 JSON 字符串输出,从而定位包含开业时间的对象属性 [^2]。 6. **自动化提取与验证** 可编写脚本定期触发店铺信息请求,并通过 Charles 的映射功能(Map Local)模拟服务器响应,便于测试不同数据格式下的处理逻辑。 --- ```python # 示例:假设从响应中提取到如下 JSON 数据 shop_info = { "name": "某知名餐厅", "address": "上海市南京东路1号", "open_time": "2018-06-15", "rating": 4.7 } print(f"店铺名称: {shop_info['name']}") print(f"开业时间: {shop_info['open_time']}") ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值