Charles 相关总结

0.Charles 简介

Charles 是一款功能强大的 HTTP 代理服务器、HTTP 监视器和反转代理服务器,它可以帮助开发者和测试人员监控和分析 HTTP 和 HTTPS 网络通信。Charles 支持多种操作系统,包括 Windows、MacOS、iOS 和 Android。

主要功能如下:

  • HTTP 和 HTTPS 代理:Charles 可以捕获和分析 HTTP 和 HTTPS 请求和响应。
  • 流量控制:可以模拟不同的网络条件,如弱网测试。
  • 接口并发请求:支持同时处理多个网络请求。
  • 重发网络请求:方便开发者测试和调试。
  • 断点调试:结合 Python 的 Flask 等工具进行 Mock Server 开发。
  • 支持反向代理:可以将请求转发到不同的服务器。
  • 网络限速:模拟不同网络类型下的应用表现。
  • 解析 AMF 协议:支持解析高级消息格式协议。

1.Charles 的下载安装

下载网址 https://www.charlesproxy.com/download/

根据自己操作系统,选择相应版本下载后,安装即可。

image-20241116221830807

这个是学习使用必备地址:

https://www.zzzmode.com/mytools/charles/

2.PC 端抓包

  • Web 抓取 HTTPS 协议

1️⃣Charles 不能直接抓取 https 协议的请求,需要安装 SSL 证书:

image-20241117021724846

2️⃣输入密码:

image-20241117022519034

3️⃣双击证书,信任证书

image-20241117021952869

image-20241117022107192

4️⃣Proxy➡️SSL Proxying Settings , Add 添加相应端口。(记得勾选 Enable SSL Proxying, 截图中为标出)

image-20241117040705125

image-20241117040133009

5️⃣打开 Charles 代理(Proxy➡️macOS Proxy),测试抓 PC 端包。

image-20241117043238002

3. 移动端抓包

总体思路,移动端下载 Charles 证书➡️移动安装 Charles 证书➡️移动端信任 Charles 证书,不同的手机可能位置不同。

(0)在 Charles 中,查看自己 IP 地址和端口号和下载证书网址

  • Help ➡️ SSl Proxying ➡️ Install Charles Root Certificate on a mobile Device or Remote Browser

image-20241117044931347

  • ip 地址:端口号为:192.168.XX.XX:8888
  • 下载证书网址:chls.pro/ssl

image-20241117045408556

(1)IOS

1️⃣连接网络(与 Charles 相同网络,并已打开 Charles)

image-20241128151800592

2️⃣配置 Charles 代理。

image-20241128152021131

3️⃣浏览器填写证书下载地址 chls.pro/ssl

  • 点击允许
image-20241128153654643
  • 点击安装
image-20241128154046402

4️⃣设置➡️通用➡️关于本机➡️证书信任设置,信任证书。

image-20241128155539636

然后就可以愉快的抓包了。

(2)Android

原理与 IOS 相同,也是在浏览器上下载证书,然后安装证书,然后信任证书。这里就不截图举例了。

4. 其他问题。

(1)在手机浏览器上登录 chls.pro.ssl, 无法下载证书。

1️⃣Charles 菜单栏上点击 Help➡️SSLProxying➡️Save Charles Root Certificate..

image-20241128160332822

2️⃣下载证书(cer 和 pem 两个格式都下载一下)

image-20241129104708216

3️⃣然后将下载好的证书发送到手机,安装即可。

  • ios 可以试试隔空投送
  • 有些版本的 Android 可能装不上.pem 的证书,可以试试.cer 的证书。

5. 常用功能。

(1)过滤

image-20241129105429369

  • 其他功能用到了在整理。