Charles 简介
Charles 是在 PC 端常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。
Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析
Charles 主要的功能包括:
- 截取 Http 和 Https 网络封包。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 支持模拟慢速网络。
安装与下载
1.下载地址:https://www.charlesproxy.com/latest-release/download.do
2.安装过程一直点击next,即可完成安装,主界面如下:
image.png
抓包操作
1.PC端抓包
Charles 会自动配置浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。只需要保证一下几点即可(以下以chrome抓包为例):
-
确保 Charles 处于 Start Recording 状态。
image.png -
确保勾选 Proxy | Windows Proxy 和 Proxy | Mozilla FireFox Proxy。
image.png -
下载chrome插件:Proxy SwitchyOmega,并设置好代理,如下图,之后再打开chrome浏览器,并选择之前设置好的模式:
image.png -
配置charles代理:Proxy ->Proxy Settings,代理端口(端口默认为 8888,不用修改),勾选 Enable transparent HTTP proxying。
image.png
2.移动端抓包
-
进入cmd窗口,输入 ipconfig命令查看自己电脑的ip地址
image.png -
手机端代理设置:进入手机wifi代理设置,设置服务器+端口(服务器即刚电脑ip,端口号默认8888)
image.png
3.抓包https设置
- 由于https协议的特殊性,所以要求电脑端和手机端都需要安装下证书,否则会看到返回的数据都是乱码。
电脑端下载证书:Help-》SSL Proxying-》Install Charles Root Certificate
手机端下载证书:Help | SSL Proxying | Install Charles Root Certificate on a Mobile Device or Remote Browser (备注:1.iOS端需要信任证书 2.部分浏览器无法安装证书,chrome是可以的) - 进入Proxy-SSL Proxying Settings,勾选Enable SSL Proxying,add上:或者*:443表示允许抓到所有请求或https请求,443端口是https的。
image.png
网友评论