Charles19--整体使用

使用查尔斯(Using Charies)

会话、记录、请求和响应、重点、图表、进口、出口、SSL证书、负载测试、网页界面、协议缓冲区、命令行选项

会话(Sessions)

您的会话包含您记录的所有信息。它由会话窗口表示;默认情况下,当您启动 Charles 时会自动创建一个新会话(Untitled Session 1)。

当您使用 Charles 时,您可能只需要一个会话。直到您觉得需要使用多个会话:不要打扰。当您的会话已满(或太忙)时,您可以清除它(使用文件菜单中的清除会话选项或工具栏上的垃圾桶图标)。

可以保存和重新打开会话,这对于与同事交流很有用。

记录(Recording)

记录是查尔斯的主要功能。请求和响应会记录到当前会话中,供您以后检查和分析。

记录的请求取决于 Charles 的配置。通常,这包括来自浏览器的所有 HTTP 和 HTTPS 流量,以及计算机上可能的其他应用程序(如果您的操作系统代理设置也已更改)。然而,它也可能包括来自通用套接字连接的数据,例如通过 SOCKS 代理或端口转发。

如果记录关闭,Charles 会照常处理所有请求,但它们不会记录在会话*您查看

请求和响应(Requests & Responses)

请求及其响应是 Charles 中记录的基本元素。

HTTP/HTTPS 由请求-响应成对组成:从您的计算机到服务器的请求和来自服务器的响应。

对于通用套接字,请求-响应包含入站和出站的全部内容。这对套接字并不总是那么有用,将来可能会改进。如果您需要进行大量套接字级别的调试,您可能需要考虑使用 Ethereal(计算机网络调试和数据包嗅探软件)。

查看请求(Viewing Requests)

请求被记录时会出现在会话窗口中。查看会话窗口有两种不同的方式:结构视图和序列视图。

结构视图让您可以在按主机名和主机内文件夹/目录组织的树中查看请求。序列视图让您可以按请求发生的顺序查看请求。

当您单击请求时,请求查看器会加载到会话窗口中以显示详细信息。

您始终可以以纯文本或二进制(十六进制和 ascii)形式查看 HTTP 请求和响应标头以及请求和响应正文。还有用于增强显示的标题和正文的特殊查看器:

标题查看器(Header Viewers)

  • 查询参数(Query parameters)
  • 表格参数(Form parameters)
  • Cookies
  • 验证(Authentication)
  • JSON 标头(JSON headers)

正文内容查看器(Body Content Viewers)

  • XML 作为树或格式化文本
  • AMF(Actionscript 消息格式 – Flash 和 Flex 远程处理)
  • 表单参数(Form parameters)(包括多部分表单)
  • JSON
  • 压缩数据(Compressed data )—用于查看原始压缩体

保存请求和响应(Saving Requests & Responses)

在导航器视图中右键单击请求以获取其他选项。您可以复制或保存请求和响应正文。如果您选择多个请求,您可以一次保存它们。

Focus

经常有来自许多不同主机的大量请求和响应使 Charles 会话变得混乱。使用 Focus 功能,您可以将您关心的主机与您不关心的主机分开。

要为主机激活 Focus,请右键单击 Structure 树中的主机名,然后从菜单中选择 Focus 项。结构树现在将在顶部显示您新聚焦的主机,然后是一个名为Other Hosts的文件夹 ,您可以将其展开以查看其他所有内容。

在 Sequence 视图中,您可以勾选 Focused 复选框以仅显示序列中的重点主机。

要查看所有重点主机并对其进行编辑,请转到“查看”菜单中的“重点主机...”项目。

图表(Chart)

请求的图表选项卡在时间线图表上显示请求和任何相关请求。时间线图表显示请求何时开始、响应(下载)何时开始以及何时结束。此外,如果有相关的请求,那么您可以看到它们彼此之间的关系。

如果您查看 HTML 页面,则会出现相关请求;相关请求将是页面加载的图像、Javascript、CSS 和其他文件。

该图表可用于可视化资源之间的并行下载、阻塞和依赖关系。

图表上的每个条形分为三个部分:

  • 请求 - 发送(上传)请求所花费的时间(深蓝色)
  • 延迟 - 在服务器上等待网络延迟或处理时间所花费的时间(中蓝色)
  • 响应 - 接收(下载)响应所花费的时间(浅蓝色)

导出(Export)

您可以通过从文件菜单中选择导出来从 Charles 中的会话导出数据。

Charles 支持多种不同的导出格式:

  • CSV
  • 跟踪文本文件(Trace text file)
  • XML

Trace 和 XML 格式也可用于导入。

CSV 格式

CSV 导出不包含所有会话信息,因此无法导入 CSV。CSV 导出包含有关请求和响应的时间和大小的摘要数据

跟踪文件格式(Trace text file)

这是特定于 Charles 的纯文本文件格式。它的优点是读写简单。它特别设计用于轻松转储请求,因为它具有非常简单的语法。

XML 文件格式

XML 文件格式专为与 3rd 软件交换会话记录而设计。XML 文件格式的 DTD 可用:http://www.charlesproxy.com/dtd/charles-session-1_0.dtd

SSL证书

Charles 为站点生成自己的证书,它使用 Charles Root Certificate 签名,该证书是为您的 Charles 安装唯一生成的(从 v3.10 开始)。当您的浏览器或其他应用程序收到该证书时,您将在浏览器或其他应用程序中看到警告,因为 Charles 根证书不在您的受信任根证书列表中。

您可以选择在遇到每个站点的证书时永久信任它,在这种情况下,您不需要信任 Charles Root 证书。如果您想自动信任 Charles 颁发的每个证书,请继续执行这些说明。

以下说明适用于不同的浏览器和应用程序,可帮助您信任您的 Charles Root 证书,这样您就不会再看到证书警告。

请注意,Charles 根证书方法随 Charles 3.10 版本而改变,因此如果您已经对旧版本的 Charles 执行了此过程,则需要再次执行此过程。

Windows / Internet Explorer

在 Charles 中,转到“帮助”菜单并选择“SSL 代理 > 安装 Charles 根证书”。将出现一个窗口,警告您 CA 根证书不受信任。

单击“安装证书”按钮启动证书导入向导。证书必须导入“受信任的根证书颁发机构”证书库,因此覆盖自动证书库选择。

完成向导,您的 Charles 根证书现已安装。在安装生效之前,您可能需要重新启动 IE。

火狐浏览器

首先确保 Firefox 已连接到 Charles。您应该会在 Charles 中看到从 Firefox 浏览的记录。

在 Firefox 中访问https://chls.pro/ssl。您将看到一个证书导入对话框。勾选“信任此 CA 以识别网站”选项并完成导入。

苹果系统

在 Charles 中,转到“帮助”菜单并选择“SSL 代理 > 安装 Charles 根证书”。钥匙串访问将打开。找到“Charles Proxy...”条目,然后双击以获取有关它的信息。展开“信任”部分,将“使用此证书时”旁边的“使用系统默认值”更改为“始终信任”。然后关闭证书信息窗口,系统将提示您输入管理员密码以更新系统信任设置。

您可能需要退出并重新打开 Safari 才能看到更改。

iOS 设备

  • 在设置应用程序 > Wifi 设置中将您的 iOS 设备设置为使用 Charles 作为其 HTTP 代理。
  • 打开 Safari 并浏览到https://chls.pro/ssl。Safari 会提示您安装 SSL 证书。
  • 如果您使用的是 iOS 10.3 或更高版本,请打开 Settings.app 并导航到 General > About > Certificate Trust Settings,然后找到 Charles Proxy 证书,然后将其打开以启用对其的完全信任(有关 iOS 中此更改的更多信息10)。
  • 现在,您应该可以使用 SSL 代理与 Charles 访问 SSL 网站了。

从 3.11.4 版本开始,Charles 支持应用传输安全 (ATS)。

安卓

从 Android N 开始,您需要向您的应用添加配置,以使其信任由 Charles SSL 代理生成的 SSL 证书。这意味着您只能对您控制的应用程序使用 SSL 代理。

为了将您的应用程序配置为信任 Charles,您需要 向您的应用程序添加网络安全配置文件。该文件可以覆盖系统默认值,使您的应用能够信任用户安装的 CA 证书(例如 Charles Root 证书)。您可以指定这仅适用于应用程序的调试版本,以便生产版本使用默认信任配置文件。

将文件 res/xml/network_security_config.xml 添加到您的应用程序:

<network-security-config> 
  <debug-overrides> 
    <trust-anchors> 
      <!-- 信任用户添加的 CA,而仅可调试 --> 
      <certificates src="user" /> 
    </trust-anchors> 
  </debug-覆盖> 
</network-security-config>

然后在您的应用清单中添加对此文件的引用,如下所示:

<? xml version = "1.0" encoding = "utf-8" ?> <manifest ... > <application android:networkSecurityConfig = "@xml/network_security_config" ... >         ... </application> </manifest>

    

谷歌浏览器

在 macOS 上,请按照上述 macOS 的说明进行操作。这些说明仅适用于 Windows。

在 Charles 中,转到“帮助”菜单并选择“SSL 代理 > 保存 Charles 根证书”。将根证书作为二进制证书 (.cer) 保存到您的桌面或下一步中您可以轻松访问的位置。

在 Chrome 中,打开设置。在设置页面底部,单击“高级”打开高级部分,然后单击“管理证书...”按钮。

转到“受信任的根证书颁发机构”选项卡,然后单击“导入...”。

找到您在上一步中从 Charles 保存的证书文件,然后单击 Next 和 Finish,保留默认选项,直到您完成导入。Chrome 现在将始终信任 Charles 签署的证书。

导入后,您可以删除保存的证书文件。

上一篇:mac Charles问题


下一篇:Charles11--证书配置