charles抓包配置
1. 软件获取
- 激活码:https://www.zzzmode.com/mytools/charles/
- 替代产品:Reqable,Proxyman
2. Mac 抓包配置
2.1 Chrome 配置
Chrome/Firefox 默认不使用系统代理,需手动配置:
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#4F46E5', 'primaryTextColor': '#000', 'primaryBorderColor': '#3730A3', 'lineColor': '#6366F1', 'secondaryColor': '#10B981', 'tertiaryColor': '#F59E0B'}}}%%
flowchart LR
A["chrome://settings"] --> B["高级 → 系统"]
B --> C["打开代理设置"]
C --> D["网页代理 HTTP<br/>127.0.0.1:8888"]
C --> E["安全网页代理 HTTPS<br/>127.0.0.1:8888"]
D --> F["抓包就绪"]
E --> F
classDef primary fill:#4F46E5,stroke:#3730A3,color:#fff
classDef success fill:#10B981,stroke:#059669,color:#fff
classDef config fill:#F59E0B,stroke:#D97706,color:#000
class A primary
class B,C config
class D,E config
class F success抓取 HTTPS:在 Charles 左侧右键目标域名 → Enable SSL Proxying
2.2 仅抓手机包
Proxy → 取消勾选 macOS Proxy
效果:电脑正常上网,手机流量走 Charles。
3. 手机 HTTPS 抓包
HTTPS 抓包需要在代理端 “ 伪造 “ 证书,让手机信任 Charles 签发的证书。
%%{init: {'theme': 'base', 'themeVariables': {'actorBkg': '#4F46E5', 'actorTextColor': '#fff', 'actorBorder': '#3730A3', 'signalColor': '#6366F1', 'activationBkgColor': '#E0E7FF', 'activationBorderColor': '#4F46E5'}}}%%
sequenceDiagram
autonumber
participant Phone as "手机"
participant Charles as "Charles"
participant Server as "目标服务器"
Note over Phone,Charles: 前提:手机已安装 Charles 根证书
Phone->>Charles: "HTTPS 请求 (TLS)"
activate Charles
Charles->>Server: "代理请求"
activate Server
Server-->>Charles: "真实响应"
deactivate Server
Charles-->>Phone: "用 Charles 证书加密的响应"
deactivate Charles
Note over Phone,Server: Charles 作为中间人解密流量3.1 安装 Mac 端证书
Help → SSL Proxying → Install Charles Root Certificate
在钥匙串访问中设置 “ 始终信任 “:

3.2 配置手机 WiFi 代理
手机连接同一局域网,WiFi 设置中配置 HTTP 代理:
- 服务器:Mac 的局域网 IP
- 端口:8888
3.3 安装手机证书

Safari 访问 chls.pro/ssl,按提示安装。
iOS 额外步骤:设置 → 通用 → 关于本机 → 证书信任设置 → 开启 Charles 证书
3.4 开启 SSL Proxy
Proxy→SSL Proxying Settings→ 添加*:443

Proxy→Start SSL Proxying
4. Android 7.0+ 限制
Android 7.0 起默认不信任用户证书,Root 后才能将证书移至系统目录。
替代方案:HttpCanary(免 Root 抓包)
5. 抓包原理对比
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#4F46E5', 'primaryTextColor': '#000', 'primaryBorderColor': '#3730A3', 'lineColor': '#6366F1', 'secondaryColor': '#10B981', 'tertiaryColor': '#F59E0B'}}}%%
flowchart TB
subgraph Sniffer["嗅探器 (Wireshark)"]
S1["网卡混杂模式"] --> S2["旁路复制数据包"]
S2 --> S3["只读分析"]
end
subgraph Proxy["代理 (Charles)"]
P1["客户端信任代理证书"] --> P2["流量经过代理"]
P2 --> P3["解密 → 修改 → 重加密"]
end
classDef sniffer fill:#06B6D4,stroke:#0891B2,color:#fff
classDef proxy fill:#8B5CF6,stroke:#7C3AED,color:#fff
class S1,S2,S3 sniffer
class P1,P2,P3 proxy| 维度 | Wireshark | Charles/Fiddler |
|---|---|---|
| 类型 | 网卡嗅探器 | HTTP 代理 |
| OSI 层级 | L2-L7 全层 | L7 应用层 |
| 原理 | 旁路监听(只读) | 中间人攻击(可改包) |
| HTTPS | 需私钥才能解密 | 安装伪造 CA 即可 |
| 场景 | 协议分析/底层排查 | 接口调试/爬虫分析 |