charles工具使用教程
- 2020.05.12
Charles是一款http代理服务器和http监视器,当移动端在无线网连接中按要求设置好代理服务器,使所有对网络的请求都经过Charles客户端来转发时,Charles可以监控这个客户端各个程序所有连接互联网的Http通信。
安装Charles客户端
打开浏览器访问Charles官网,下载相应系统的Charles安装包,然后一键安装即可。
抓包显示
Charles提供两种查看抓包信息的页签,一个是Structure
,另一个是Sequence
。
Structure
用来将访问请求按访问的域名分类,Sequence
用来将请求按访问的时间排序。任何程序都可以在Charles
中的Structure
窗口中看到访问的域名。
抓取本机的发送请求
打开charles——> 选择proxy菜单项——> 选择macOs Proxy 即可抓取本机的请求
WARNING
mac下需要打开启动台——>其他——>钥匙串访问——>设置信任证书
抓取移动设备发送的请求
使用charles抓取移动设备的请求需要保证移动设备和本机处于同一个网络中。
1. 打开设置———> 查看当前网络的ip(或者打开终端 输入ifconfig)
2. 打开charles——> 选择proxy菜单项——> 选择Proxy Settings菜单项——> 填写相关代理设置
我们不进行设置的话 默认的端口就是8888端口
3. 手机端配置代理
这里默认使用的是iphone手机。
手机端打开对应的网络——> 选择代理手动——> 输入对应的ip地址和端口
移动设备配置之后,第一次通过手机访问手机中的发送请求时,Charles
会弹出提示框,提示有设备尝试连接到Charle
s,是否允许,如果不允许的话,手机发送请求失败,点击Allow
允许,这样这个设备的IP地址就会添加到允许列表中。
如果错误点击了Deny
可以重启Charles
会再此提示,或者通过Proxy->Access Control Settings
手动添加地址,如果不想每个设备连接Charles
都要点击允许的话,可以添加0.0.0.0/0
允许所有设备连接到Charles
。
经过上面的配置之后我们就可以抓取http请求的包
配置支持https抓包请求
默认charles是不支持https抓包的,所以需要安装对应的https证书
手机上需要输入chls.pro/ssl
安装对应的证书
手机上打开设置——>通用——>描述文件与设备管理——>信任描述文件
之前经常做到这步 然后发现还是无法解析https请求,主要是遗漏了手机上证书的信任操作。
手机上打开设置——>选择通用——>关于本机——>证书信任设置
抓包请求过滤
有的时候我们并不想要查看所有请求的api信息或者其他的一些图片等资源的请求,只想关注某些特定域名下的请求。
打开charles——>选择Proxy->Recording Settings菜单
或者在Sequence
界面的Filter
栏中填入需要过滤的关键字。
代理转发
我们在进行本地开发功能的测试时,可以将手机请求的地址转发到本机地址的程序进行执行。右键选择Map Remote
,配置请求转发的地址。
并选择Tools->Map Remote Settings菜单
,勾选配置的转发条目。
charles注册
注册码:
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
注册码:
Registered Name: DavidHoo
License Key: 1F32648C9DBCB8A838