Charles全套教程

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

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

目录

一.Charles安装

二.Charles授权码在线生成

三.Charles抓包配置

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


一.Charles安装

  1. 前往官网下载安装文件
    前往 Charles官网 下载适合你设备系统的安装文件。
    Charles全套教程_第1张图片 

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

    Charles全套教程_第2张图片 

二.Charles授权码在线生成

  1.  Charles授权码在线生成链接
    Charles全套教程_第3张图片
  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 的主界面中查看和调试请求和响应。
    Charles全套教程_第4张图片
    (2) 配置代理服务器
    "Proxy Setting" 是用于配置代理服务器的设置的选项。代理服务器可以帮助你拦截和修改浏览器和移动设备上的 HTTP 和 HTTPS 流量。通过设置代理服务器,可以检查应用程序和网站的网络流量,查看和调试请求和响应。在 Charles 的主界面中,你可以找到 "Proxy" 菜单,然后选择 "Proxy Settings" 选项来配置代理服务器。在其中,你可以设置代理服务器的端口号、代理类型、身份验证、SSL 代理等选项。
    Charles全套教程_第5张图片

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

    Charles全套教程_第6张图片
    (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 证书导入到设备或浏览器中。
    Charles全套教程_第7张图片

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

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

    Charles全套教程_第8张图片 (4) 安装证书

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

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

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

    Charles全套教程_第10张图片 Charles全套教程_第11张图片
    Charles全套教程_第12张图片

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

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

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

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

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

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

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

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

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

    Charles全套教程_第14张图片
    在出来的弹窗中找到你标记的接口双击
    Charles全套教程_第15张图片

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

    Charles全套教程_第16张图片

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

    Charles全套教程_第17张图片

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

     

各种功能会持续更新

你可能感兴趣的:(网络)