Generated with sparks and insights from 46 sources

img3

img4

img5

img6

img7

img8

Introduction

  • Charles 是一种常用的网络封包截取工具,广泛应用于移动开发和网络通讯协议的调试。

  • Charles 的工作原理是将自己设置为系统的网络访问代理服务器,截取并分析所有通过它的网络请求。

  • 在 HTTPS 抓包过程中,Charles 充当“中间人代理”,伪装成客户端与服务器进行通信。

  • Charles 需要客户端信任并安装其 CA 证书,以便拦截和解密 HTTPS 流量。

  • Charles 通过获取服务器证书公钥和 HTTPS 连接的对称密钥,能够解密和分析加密的报文。

Charles简介 [1]

  • Charles 是一个 HTTP 代理/HTTP 监视器/反向代理工具。

  • 它使开发人员能够查看机器和互联网之间的所有 HTTP 和 SSL/HTTPS 流量。

  • Charles 具有界面简单直观、易于上手、数据请求控制容易等优势。

  • 它可以抓取和分析 HTTP 和 HTTPS 协议的请求和响应。

  • Charles 还支持修改和重发请求,便于调试和测试。

img3

img4

img5

img6

img7

img8

HTTPS抓包原理 [2]

  • Charles 通过将自己设置为系统的网络访问代理服务器,截取所有网络请求。

  • 在 HTTPS 抓包过程中,Charles 充当“中间人代理”,伪装成客户端与服务器进行通信。

  • Charles 需要客户端信任并安装其 CA 证书,以便拦截和解密 HTTPS 流量。

  • Charles 获取服务器证书公钥和 HTTPS 连接的对称密钥,解密和分析加密的报文。

  • Charles 拦截客户端的请求,伪装成客户端向服务器进行请求,获取服务器的响应后再伪装成服务器向客户端发送数据。

安装和配置 [3]

  • 安装 Charles:从官方网站下载并安装 Charles 软件。

  • 配置代理:在 Charles 中设置代理服务器,通常使用默认的 8888 端口。

  • 安装证书:在 Charles 中安装根证书,以便拦截和解密 HTTPS 流量。

  • 配置浏览器:将浏览器的代理设置为 Charles 的代理服务器地址和端口。

  • 配置手机:在手机的 Wi-Fi 设置中配置代理,指向 Charles 的代理服务器地址和端口。

img3

img4

img5

img6

img7

img8

常见问题 [4]

  • Charles 是收费软件,可以免费试用 30 天。

  • 试用期过后,未付费用户每次使用时间不能超过 30 分钟,并且启动时有 10 秒延时。

  • Charles 支持 HTTP 和 HTTPS 协议的抓包,不支持 Socket。

  • 在使用 Charles 时,需关闭防火墙以避免干扰。

  • Charles 可以通过过滤请求来减少干扰,便于分析特定的网络请求。

img3

img4

img5

img6

img7

img8

应用场景 [3]

  • 移动开发:用于调试与服务器端的网络通讯协议。

  • 第三方应用分析:分析第三方应用的通讯协议。

  • HTTPS 流量分析:通过安装 CA 证书,分析 HTTPS 协议的流量。

  • 数据修改:修改和重发网络请求,便于调试和测试。

  • 弱网测试:通过设置代理和限流,模拟不同的网络环境进行测试。

img3

img4

img5

img6

img7

img8

Related Videos

<br><br>

<div class="-md-ext-youtube-widget"> { "title": "\u6d4b\u8bd5\u6210\u957f\u4e4bHTTPS\u7684\u6293\u5305\u539f\u7406\uff0c\u4e5f\u7ec8\u4e8e\u660e\u767dcharles/fiddler\u7684\u6293 ...", "link": "https://www.youtube.com/watch?v=wDdDxLlShMA", "channel": { "name": ""}, "published_date": "Sep 5, 2023", "length": "" }</div>

<div class="-md-ext-youtube-widget"> { "title": "Charles\u6293\u5305\u89c6\u9891\u6559\u7a0b-07\u65ad\u70b9\u7684\u4f7f\u7528", "link": "https://www.youtube.com/watch?v=Cc4KiOAANuc", "channel": { "name": ""}, "published_date": "Jan 11, 2021", "length": "" }</div>