Charles全套教程

Charles 是一款常用的网络代理工具,可以用来监控、调试和分析网络请求和响应数据。它可以截取 HTTP 和 HTTPS 流量,在代理服务器和目标服务器之间建立连接,允许用户便捷地查看和记录网络通信数据,包括请求 URL、请求头部、请求体、响应头部、响应体等信息。

使用 Charles 可以有助于调试和优化网络应用程序,例如通过重放网络请求来进行性能测试、诊断慢请求、查找代码中的 bug 等等。此外,Charles 还提供了其他一些功能,如 Map Remote、Throttling、Breakpoints 等等,让用户能够更加深入地理解和优化网络应用程序。

目录

一.Charles安装

二.Charles授权码在线生成

三.Charles抓包配置

四.Charles打断点修改返回数据 


一.Charles安装

  1. 前往官网下载安装文件
    前往 Charles官网 下载适合你设备系统的安装文件。

  2. 运行安装程序
    双击下载的安装文件并打开,按照提示进行安装。

二.Charles授权码在线生成

  1.  Charles授权码在线生成链接
  2. 在 Help下的Register Charles将生成名称和密码输入进来重启Charles即可。 

三.Charles抓包配置

  1. PC抓包配置
    (1) 配置 Windows 系统代理设置的选项
    "Windows Proxy" 是用于配置 Windows 系统代理设置的选项。通过将 Windows 系统代理设置为 Charles,可以拦截系统中的所有 HTTP 和 HTTPS 流量,这样可以更加方便地检查应用程序和网站的网络流量,同时也可以在 Windows 系统中上网时获得更多的数据。在 Charles 的主界面中,你可以找到 "Proxy" 菜单,然后选择 "Windows Proxy" 选项来配置 Windows 系统代理设置。可以通过勾选 "Enable Windows Proxy" 选项来启用 Windows 代理,然后可以选择要拦截的流量类型(HTTP 和/或 HTTPS),设置代理服务器的地址和端口号,还可以选择是否需要身份验证等选项。配置完成后,系统中的流量就会被重定向到 Charles,可以在 Charles 的主界面中查看和调试请求和响应。

    (2) 配置代理服务器
    "Proxy Setting" 是用于配置代理服务器的设置的选项。代理服务器可以帮助你拦截和修改浏览器和移动设备上的 HTTP 和 HTTPS 流量。通过设置代理服务器,可以检查应用程序和网站的网络流量,查看和调试请求和响应。在 Charles 的主界面中,你可以找到 "Proxy" 菜单,然后选择 "Proxy Settings" 选项来配置代理服务器。在其中,你可以设置代理服务器的端口号、代理类型、身份验证、SSL 代理等选项。

    检查Enable transparent HTTP proxying 按钮是否勾选,这个按钮必须勾选


    (3) 配置 SSL 代理
    SSL Proxying Settings 是用于配置 SSL 代理。SSL 代理使得 Charles 可以拦截和查看 HTTPS 流量,而 HTTPS 流量是通过 SSL/TLS 加密的。通常情况下,当你使用 Charles 来拦截 HTTPS 流量时,你的设备或浏览器会出现 SSL 错误并提示无法建立安全连接,因为 Charles 认为你在尝试访问一个不受信的 SSL 网站。通过配置 SSL Proxy Setting,你可以让 Charles 伪装成 HTTPS 目标网站,将 SSL 证书传递给设备或浏览器,这样就能够成功建立安全连接,同时 Charles 也能够拦截和查看 HTTPS 流量。在 Charles 的主界面中,你可以找到 "Proxy" 菜单,然后选择 "SSL Proxying Settings" 选项来配置 SSL 代理。在 SSL Proxy Setting 中,你可以自己生成一个 CA 证书并将其导出到设备或浏览器,或者将 Charles 自带的 CA 证书导入到设备或浏览器中。

    *:443 表示匹配所有主机名(域名或 IP 地址)以及端口号为 443 的 HTTPS 流量。这通常用于在代理服务器上拦截和处理所有主机名和端口号为 443 的 HTTPS 流量。

    而*:*表示匹配所有主机名和端口号的所有流量,无论使用的是 HTTP、HTTPS 或其他协议。这通常用于拦截和处理所有流量,包括 HTTP、HTTPS、WebSocket、SOCKS 等等。

     (4) 安装证书

    "Install Charles Root Certificate" 是用于安装 Charles 的自签名根证书的功能。

    当你在使用 Charles 作为代理服务器时,它会拦截你的网络请求并将它们转发到目标服务器。例如,如果你在浏览器中访问某个网站,Charles 会截获这个请求并将它转发给该网站。然而,在 HTTPS 请求中,原始请求经过加密,Charles 默认情况下是无法识别的。

    为了解决这个问题,Charles 提供了自签名根证书,它会在你的计算机上安装该证书,以便 Charles 可以使用该证书进行中间人攻击(proxy) ,将加密后消息解密从而可以查看HTTPS的信息。这就意味着,Charles 可以解密 HTTPS 流量,使你能够查看和修改包括 SSL 加密的 HTTPS 流量在内的所有数据和元数据。

     

四.Charles打断点修改返回数据

  1. 选择你需要修改数据的接口点击鼠标右键勾选Breakpoints
     

    "Breakpoints" 是用于在请求和响应流量中断点调试和编辑的功能。

    当你在使用 Charles 进行流量监测和调试时,你可能需要查看和修改特定请求或响应的数据,或者你需要在特定的请求或响应流量上设置中断点,以方便调试。"Breakpoints" 提供了一种简单的方法来实现这个目的。

    具体而言,Breakpoints 允许你设置中断点,以便在特定请求或响应发生时,Charles 停止处理该请求或响应,等待用户调试,例如,你可以暂停请求来修改请求的协议、URL、报头或主体,也可以暂停响应来查看响应的内容、响应头或状态码

     

  2. 选中后设置断点条件和动作 proxy->breakPoint  Setting

    Breakpoint Setting 是用于设置代理服务器拦截断点的功能,即通过 Charles 代理服务器拦截并暂停特定请求的功能。

    在使用 Charles 进行调试时,我们可能需要在某些特定的请求上设置断点以帮助我们调试。而使用 Charles 代理服务器的好处是,它可以协助我们对流量进行拦截,并且使用拦截的流量进行调试。比如,我们可以在向某个特定的服务器发送请求时设置拦截条件,让 Charles 拦截这个请求并且暂停,以便我们检查请求和响应的详细信息,从而帮助我们快速定位和解决问题。

    proxy->Breakpoint Setting 允许你设置代理服务器拦截特定的请求。通过设置断点条件和动作,它可以让 Charles 拦截并暂停特定的请求,让你更方便地进行调试和排错。在 Charles 中,proxy->Breakpoint Setting 提供了与常规断点设置类似的操作界面,你可以选择请求协议、端口、约束条件和动作,以及设置特定的拦截条件。


    在出来的弹窗中找到你标记的接口双击

    选择对应的方法GRT & POST, 将Query写上* , 确保一下request和response勾上.
    点击OK重新刷新页面请求即可。

  3. 修改请求内容&返回结果
    "Edit Request" 是 Charles 的一个功能,它用于编辑网络请求的详细信息。当我们在 Charles 中捕获到一个网络请求时,可能需要对请求进行一些修改,比如更改请求的参数、Header、路径等,以便于我们观察和测试网络请求相应的结果。

     "Edit Response" 是 Charles 的一个功能,它用于编辑网络响应的详细信息。当我们在 Charles 中捕获到一个网络请求的响应时,有时候需要对响应进行一些修改,以便于我们观察和测试响应相关的行为。

五.Charles网络调试工具

Throttle Settings 是 Charles 中的一项功能,用于模拟网络连接的限速情况。通过限制网络连接的速度,可以帮助开发者模拟各种网络环境下的实际使用情况,从而进行网络调试和性能优化。
使用 Throttle Settings 功能,你可以在 Charles 中模拟不同的网络速度,例如 3G、4G 或者较慢的连接。通过限制网络速度,你可以测试应用程序在低带宽或高延迟的网络环境下的表现。

  1. 选择 “Proxy” 菜单,并点击 “Throttle Settings”。
  2. Throttle Settings弹窗

    Enable Throtting:启用限速开关
    Only for selected hosts:仅适用于选定的主机,它允许你选择将限速应用于特定的主机或域名,而不是全局应用于所有网络流量
    Add:添加其他主机或域名   |  Remove:去除

    Protocol(协议):是允许你选择限制网络流量的协议类型的选项。单击下拉菜单,您将看到一系列可用的协议选项,例如HTTP、HTTPS
    Host(主机):填写服务器的地址或域名。
    port(端口):填写端口号
    Throttle preset(限速预设):是一组预定义的网络限速设置,用于模拟不同网络条件下的网络连接速度和性能。

    Bandwidth(kbps)(带宽):理论上的网速上限,区分上行和下行,分别是数据的流入和流出
    Utilisation(%)(利用率):利用率是总带宽的百分比,可以在任何一个时间使用。它只是作为可用带宽的缩放因子。对于大多数现代互联网连接利用率始终是100%。
    Round-trip latency(ms)(请求往返延迟):往返延迟测量客户端和远程服务器之间的第一次往返通信的毫秒延迟。它用于客户端向服务器和服务器向客户端的每次请求。
    MTU(bytes)(最大传输单元):在任何传输的TCP数据包的最大尺寸。指定MTU不改变的可用带宽,但允许Charles在MTU分配带宽大小的块,导致在每个传输包分割的现实水平。
    Reliability(%)(可靠性):可靠性是衡量连接完全失败的可能性。这是非常有用的模拟不可靠的网络条件。可靠性是指定为成功发射10kib消息的可能性,所以,值为50%意味着所有10kib传输一半会成功。较大的邮件或更小的消息或多或少都有可能失败,所以20kib传输将只有25%的成功率和5kib传输成功率约70%。
    Stability(%)(稳定性):稳定性是衡量一个连接的可能性是不稳定的,因此降低了质量。这是非常有用的模拟网络,如移动网络,定期连接质量差。如果连接不稳定,则连接的质量会在不稳定的质量范围内随机下降。此质量值,然后应用作为另一个缩放因子的可用带宽。
    unstable quality range(不稳定质量范围)

各种功能会持续更新

  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你好!以下是一个关于Charles配置的简要教程: 1. 下载和安装Charles:首先,你需要从Charles官方网站(https://www.charlesproxy.com/)下载并安装Charles。根据你的操作系统,选择适当的版本进行下载。 2. 启动Charles:安装完成后,双击打开Charles应用程序。在Windows上,它通常会自动启动;在Mac上,你可以在“应用程序”文件夹中找到它并点击打开。 3. 配置代理设置:一旦Charles启动,你需要配置你的设备将网络流量发送到Charles代理。在设备上进行以下设置: - 对于iOS设备:打开设备的设置,选择Wi-Fi,然后点击你当前连接的Wi-Fi网络的信息按钮。在下拉菜单中找到“HTTP代理”选项并选择“手动”。输入你计算机的IP地址和Charles端口(默认为8888)。 - 对于Android设备:打开设备的设置,选择网络和互联网,然后点击Wi-Fi。长按你当前连接的Wi-Fi网络,并选择“修改网络”。在弹出窗口中,滚动到底部并找到“代理”选项。选择“手动”并输入你计算机的IP地址和Charles端口(默认为8888)。 4. 配置SSL代理:如果你需要查看HTTPS流量,你还需要配置Charles以解密SSL连接。在Charles菜单中,选择“Proxy” > “SSL Proxying Settings”。点击“Add”按钮,并输入你想要解密的域名或IP地址。确保启用“Enable SSL Proxying”选项。 5. 开始使用Charles:现在,你已经完成了Charles的配置。你可以在Charles界面中看到来自设备的网络流量,包括请求和响应。你可以使用过滤器、断点和其他功能来分析和修改请求。 这是一个简单的Charles配置教程,希望对你有所帮助!如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值