charles

charles的基本使用

1 安装与激活

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

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

在charles的help->registered to charles中输入名称和注册码,即可进行激活

2 设置代理信息

2.1 设置代理信息

启动window代理,勾选Proxy->Windows Proxy

设置代理信息,在Proxy->Proxy Settings中设置代理端口

2.2 设置SSL

设置SSL信息,在Proxy->SSL Proxying Settings中进行设置

Snipaste_2024-04-23_17-56-50

:443 表示匹配所有主机名(域名或 IP 地址)以及端口号为 443 的 HTTPS 流量。\.*表示匹配所有主机名和端口号的所有流量。

3 安装证书

针对PC端,在Help->SSL Proxying->Install Charles Root Certificate中进行证书安装,安装到受信任的根证书颁发机构下。

4 移动端设置

针对移动端,确保移动端与PC端处于同一局域网下

  • 手机上进入wifi设置页面,手动设置代理信息,主机名称填写PC电脑的IP地址,端口填写charles中设置的代理端口。
  • 手机的浏览器中输入chls.pro/ssl进行搜索,会让下载证书,下载后进行安装。证书后缀名crt,若下载的后缀名不符,需要改成此后缀名。

5 与Fiddler的区别

  • Fiddler免费,Charles收费
  • Fiddler支持抓取所有类型的网络流量,而Charles主要用于HTTP和HTTPS的分析
  • Charles具有map文件的功能,而Fiddler不支持
  • Fidder主要运行在Windows操作系统上,而Charles支持多种操作系统,如macOS和Linux

6 断点调试

方法一:

  1. 启动Charles后,点击“Proxy”菜单,然后选择“Breakpoint Settings…”。
  2. 勾选“Enable Breakpoints”以启用断点功能。
  3. 点击“Add”新增断点规则。断点规则包括以下几个字段:
  • Scheme:拦截进行断点的接口方法,选项有GET和POST。
  • Protocol:协议,选项有HTTP和HTTPS。
  • HOST:域名或IP地址。
  • Path:路径。
  • Query:URL中的查询参数。

根据具体需求填写这些字段,以定义断点的规则。

方法二:

  1. 在Charles中,找到需要进行断点调试的接口。
  2. 在该接口处,鼠标右击,选择“breakpoints”以允许本接口使用断点功能。
  3. 随后,断点配置会自动添加到“Breakpoint Settings…”中,双击配置规则,补充剩余的信息。

7 问题解决

针对ios10.3之后的版本,需要在设置—>通用—>关于本机—>证书信任设置中信任安装好的证书

针对安卓高版本,对于用户安装的证书,没有root权限,做不到完全信任。

------------- End -------------