Photo on charlesproxy.com
前言
前几週分别介绍了 Charles 选项栏中的 Proxy 与 Tools
而在这一週将会分享如何使用 Charles 来拦截封包
并分享 Charles 的工具列 (虽然与前几週的内容一样 但还是稍微介绍一下)
分享重点
通过 Charles 进行电脑端拦截封包通过 Charles 进行手机端拦截封包通过 Charles 进行 HTTPS 拦截封包介绍 Charles 工具列通过 Charles 进行电脑端拦截封包
Charles 会自动配置浏览器和工具的代理设定
换句话说打开 Charels 同时就已经是拦截封包的状态了
但是还是需要确保以下两点:
藉由选项栏中依序选择 Proxy > Proxy Settings > macOS
启用 MacOS proxy: Enable macOS proxy
但是如果只想要抓取 App 的封包建议可以取消勾选该选项
通过 Charles 进行手机端拦截封包
手机拦截封包的原理和上述的 PC 类似
需要将手机通过把网络委託给 Charles 进行代理与服务端进行对话
a. 关闭电脑端的防火墙
b. 打开 Charles 的代理功能
藉由选项栏中依序选择 Proxy > Proxy Settings > Proxies
预设埠是
8888
也可以根据实际情况进行修改或启用动态连接埠勾选 Enable transparent HTTP proxying

c. 如果只需拦截手机封包,可以取消勾选 PC 端拦截封包提到的 macOS proxy手机端设定内容:
a. 藉由选项栏中依序选择 Help > Local IP Address 来查看本机的 IP 位址

b. 设定手机端的 WIFI 代理,输入电脑 IP 和 Charles 的代理端口


通过 Charles 进行 HTTPS 拦截封包
HTTPS 的封包拦截也分为电脑端与手机端
以下将分别介绍两者的设定
设定 SSL 代理的内容藉由选项栏中依序选择 Help > SSL Proxying > Install Charles Root Certificate
点击尚未被信任的 Charles Proxy 凭证
开启 "信任" 选单,点击 "使用此凭证时" 的下拉式选单,并选择 "永远信任"
确认 Charles Proxy 凭证已被信任
完成以上步骤,就可以进行 HTTPS 封包拦截了手机端安装 Charles 的 SSL 证书:藉由选项栏中依序选择 Proxy > Start Proxying Settings
勾选 Enable SSL proxying
安装完成后开启后进行设定藉由选项栏中依序选择 Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser
前往提示视窗中所提到的 http://chls.pro/ssl (必须先完成手机的代理)
完成以上步骤,就可以进行 HTTPS 封包拦截了凭证名称可以命名比较容易辨识的,例如 "Charles SSL"
下方认证使用的部分选择 "VPN与应用程式"
最后点击 "确定" 进行安装
介绍 Charles
工具列
Charles 上方的工具列中提供了几个较常使用的功能
以下将依左至右一个一个的简单介绍各自的功能
清除捕获到的所有请求Start/Stop Recording:
红色(启用状态):正在捕获请求
灰色(停用状态):停止捕获请求
可在选项栏中依序选择 Proxy > Start/Stop Recording
快捷键:
command
+R
Start/Stop SSL Proxying:闭锁(启用状态):启用 SSL Proxying
开锁(停用状态):停用 SSL Proxying
可在选项栏中依序选择 Proxy > SSL Proxying Settings... > SSL Proxying
快捷键:
command
+L
Stop/Start Throttling:灰色(停用状态):停止网速节流
绿色(启用状态):开启网速节流
可在选项栏中依序选择 Proxy > Throttle Settings...
快捷键:
command
+T
Disable/Enable Breakpoints:灰色(停用状态):尚未开启断点
红色(启用状态):已经开启断点
可在选项栏中依序选择 Proxy > Breakpoint Settings...
快捷键:
command
+K
Compose a new request based on the selection:编辑修改选中的请求Repeat selected requests:
重複发送选中的请求
快捷键:
command
+shift
+R
Validate selected responses:检查验证选中的请求Purchase a License:
开启购买使用 Charles 页面 https://www.charlesproxy.com/buy/Tools:
较常使用的功能选单Settings:
较常使用的设定选单
结尾
因为小弟也是新手使用的分享文
所以介绍的内容可能有遗漏或是错误,还请各位大哥大姐提点
小弟将继续往下週迈进。 ─=≡Σ((( つ•̀ω•́)つ
参考文献
官方网站 (载点)
Charles Web Debugging Proxy • HTTP Monitor / HTTP Proxy / HTTPS & SSL Proxy / Reverse Proxy