Charles for Mac: A Detailed Guide to Network Debugging Proxy Tool

Charles for Mac 是一款功能强大的HTTP/HTTPS网络抓包与调试代理工作区详解

一、 软件核心界面与工典区详解

Charles的主界面主要分为以下几个核心区域:

  1. 菜单栏与工具栏:位于窗口顶部(提供文件、编辑、代理、工具等主要功能入口。工具栏包含快速开始/停止录前会话、断清除得力助手。
  2. 会话列表区(Structure / Sequence 视图):
    • Structure 视图:按主机名(域名)对请求适合按站点适合观察请求的先后时序。
    • Sequence 视图:按请求发生的时间顺序组,适合观察请求的先后时序。
  3. 请求与响应详情区:选中会话列表中的任意一条请求后,该区域将显示其详细信息,包含多个标签页:
    • Overview:请求与响应的概览信息,如URL、状态码、耗时、数据大小等。
  • Filter:位于会话列表口底部)可快速过滤显示的网络请求。
  • SSL:窗口底部)显示录制状态、代理监听端听端关键信息。
  • 二、 从创建/打开项目到最终导出的完整操作流程

    Charles的核心工作流程围绕“捕获-分析-修敪敪-出”展开。

    1. 启动代理与捕获会话

    操作目标:开始记录计算机或移动设备动出的网络请求。

    具体步骤:

    1. 启动Charles,确保菜单栏 Proxy -> macOS Proxy 已被勾选(这会将系绕代理设置为Charles)。
    2. 点击工具栏的 “开始/停止录制” 按钮(红色圆点)或使用快捷键 Command + R,使其变中)。
  • 此时,在浏览器或任何应用中进行的网络操作,其请求将出现在Charles的会话列表区。
  • (可选)配置移动设备:如需捕获手机流量,需确保手机与Mac在同下,并在手机Wi-Fi下,并在手机Wi-Fi设置中配置代理,服务器地址为Mac的IP,端口为8888。
  • 2. 分析网络请求

    操作目标:查看特定请求的详细信息。

    具体步骤:

    1. 在 会话列表区 选择一条目标请求。
    2. 在 请求与响应详情区 切换到 Contents 标签页。
    3. 分别查看 Request 和 Response 的 Headers 和 Body。JSON/XML数据会自动格式化,方便阅读。

    3. 修改请求与响应(使用断点或重写)

    操作目标:在请求发出前或响应返回响应过修改其内容。

    方法A:使用断点(Breakpoints)

    1. 选中目标请求,右键选择 “Breakpoints”,或通过 Proxy -> Breakpoint Settings… 添加断点规则。
    2. 触发该请求,Charles会将其暂停。
    3. 在弹出的 “Edit Request” 或 “Edit Response” 窗发送请求或返回响应。Execut

    Enable Browsers Rewrite

    1. Tools -> Rewrite…
    2. Set Rewrite -> URL -> Body
    3. Replace -> URL -> Body

    4. Export

    Export

    Export Format

    1. Export as Charles -> .chls
    2. Export as cURL -> .curl
    3. Export as HAR -> .har

    Map Local

    1. Map Local -> Tools -> Map Local…
    2. Throttle Settings -> Proxy -> Throttle Settings…
  • SSL代理请求(Repeat / Repeat Advanced):这是未配置SSL代理所致。解决方案(右键域名(Help -> SSL Proxying -> Install Charles Root Certificate),并为目标在SSL代理(右键域名 -> Enable SSL Proxying)。
  • SSL Handshake:这是未配置SSL代理所致。解决方案(右键域名(Help -> SSL Proxying -> Install Charles Root Certificate),并为目标在SSL代理(右键域名 -> Enable SSL Proxying)。
  • SSL代理使用工具:例如,可以启用“重写”根证书(右键域名启用在慢速网络下的表现。
  • 四、 常见问题与解决方案

    Q1: 无法捕获HTTPS请求(可以同时启用<unknown>?

    A1:这是未配置SSL代理所致。解决方案(右键域名(Help -> SSL Proxying -> Install Charles Root Certificate),并为目标在SSL代理(右键域名 -> Enable SSL Proxying)。

    Q2: 手机连接Charles代理后无法上网?

    A2:请检查:1) Mac和手机是否在同一局域网。2) Mac防火墙是否关闭或放行了Charles。3) 手机代理设置中的IP和端口(8888)是否正确。4) 首次连接时(右键域名启用完全信任。

    Q4: 如何只监控特定应用的流量?

    A4:关闭 Proxy -> macOS Proxy,然后手动为需要监控的应用配置代理。例如,在终端启动应用时设置环境变量:http_proxy=http://127.0.0.1:8888 https_proxy=http://127.0.0.1:8888。

    Charles for Mac 快捷键汇总表

    Command Mac (Mac) Function
    Command + R Command + R Reset
    Command + E Command + E Export
    Command + F Command + F Find
    Command + R (在选中请求时) Command + R (在选中请求时) Reset Proxy
    Command + 1 / Command + 2 Command + 1 / Command + 2 Structure/Sequence
    Command + N Command + N New
    Command + Shift + B Command + Shift + B Breakpoint
    Command + T Command + T Toggle Breakpoint
    Command + Shift + S Command + Shift + S Save
    Command + Shift + R Command + Shift + R Reload

    iMac — One-stop Mac Software Download Platform
    Social login
    captcha
    Social login