一、下载Charles
官网
https://www.charlesproxy.com/
*注册
不注册,只可使用简单的抓包功能,map local、map remote等高阶使用功能不可使用。
点击这里注册,我这里是已经注册了的。注册要注册码,具体自行上网破解。
二、配置工作
- Charles上的配置
Proxy->Proxy Settings
填入代理端口8888,并且勾上 “Enable transparent HTTP proxying”
-
安装证书(Charles默认可以抓取并解析http,若想抓取https需要进行以下的配置)
2.1. 在 Mac上安装证书 选择install Charles root certificate
2.2 将证书放在登录下,并且始终信任
2.3. 设置需要抓取的URL地址
2.3.1. 进入proxy->SSL Proxy Settings 勾选enable ssl proxy,一般添加*:443即可
- 手机端安装证书(一台手机需要安装对应的证书,所以每换一台移动设备都需要安装新的证书)
证书下载地址:Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Brower
(Android安装证书后,找到证书的位置,把证书的.pem后缀改为.crt再进行安装)
三、使用
- 抓包
这个位置是捉包的接口,如果出现https unknow就表示证书没安装成功。
-
过滤
一般电脑的请求都会比较多,所以我们需要过滤请求,一般会用下面的窗口过滤。
-
local map
可以用于把某个请求提返回为本地文件的文本。
先保存文件到本地
修改文件内容。
然后点local map
然后选择需要映射的文件
- remote map(高级功能需要注册)
添加需要映射的借口
- compose/rewrite修改请求体和请求参数
compose可以修改一次请求的参数,而review能修改全部符合规则的请求参数
3.1 compose
修改请求内容后点击execute
3.2 rewrite
输入需要重写的路径
输入需要修改的类型,可以选择修改请求头,返回头,请求体,返回体之类的
效果
-
修改header参数
同样的道理,可以按3的步骤去增加/修改/删除header参数
-
限速
限速有什么用?
可以用来模拟网络不稳定,网络异常的情况,观察网络异常情况下客户端的表现。
-
breakpoint
断点,有点像开发的debug,可以把请求拦截,然后修改参数再执行
-
repeat
重新发一次一样的请求,repeatAdvanced则是可以配置兵法发送的次数
-
postman + rewrite
用postman发送的请求不能被Charles代理,从而不能rewrite
进入postman的设置,然后配置postman的代理
- 常用快捷键
- 清空抓包数据(cmd+delete), 最常用。
- map local(cmd+option+L)
- map remote(cmd+option+m)