charles简介
官方简介是: Charles是一个HTTP代理/HTTP监视器/反向代理,它使开发人员能够查看其计算机和Internet之间的所有HTTP和SSL/HTTPS流量。这包括请求、响应和HTTP标头(其中包含cookie和缓存信息)。 Charles是在pc端常用的网络请求截取工具,无论前端还是后端开发者,都是应该必备的工作提效利器!
下载地址:
charles 官方下载地址www.charlesproxy.com/
Charles 代理服务器设置
配置HTTP代理:(windows)
设置代理,操作步骤:在顶部工具栏选择 Proxy ---> Proxy setting
选择 Proxies 开始配置,port默认端口为8888,若端口被占用需手动自行修改。
enable transparent HTTP proxying(透明代理):
透明代理使 Charles 能够去支持那些不支持 HTTP 代理服务器的客户端,或者说不知道正在使用 HTTP 代理服务器,例如 TCP/IP 连接由路由器或防火墙重定向到 Charles。
配置 Https 代理
目前大多数的网络请求接口都是https,Charles也需要配置SSL代理进行抓包 操作步骤:顶部工具栏--->Proxy --->SSL Proxying Settings
选择后出现如下页面,IP 设置为通配符*,代表任意服务器IP,端口设为443,当然端口也可以设置为*;https的默认端口为 443 ,一般来说企业不会去修改它。当然端口配置为*更严谨一些。
配置证书
上面的操作以及可以抓一些http请求的包,但是现在很多请求都是https,因此需要安装相应证书,如下图:
随后可以看到下图:
这里需要信任Charles Proxy CA,我这里选择的是始终信任。
到这里,电脑端的配置就全部结束了。接下来看移动端的配置
移动端抓包配置
(以ios为例)
移动端配置
首先需要修改手机网络,调整手机 wifi 和电脑在同一局域网中,
操作步骤:长按使用的 wifi --> 配置代理--> 代理服务器主机名设置为电脑 ip 地址,代理端口设置为 8888 --> 完成后点击保存。
移动端证书下载
操作步骤:点击电脑安装的Charles顶部工具栏--> 选择 Help--> Install Charles Root Certificate on Mobile Device or Remote Browser
Charles 页面会弹出是否接受移动端连接?并安装证书
到手机浏览器输入地址chls.pro/ssl下载证书,在浏览器中回车开始下载,等待下载完成。
安装证书
手机打开浏览器输入 chls.pro/ssl,如下提示,点击允许(如果下载失败,请更换浏览器重新在下)
进入设置 -> 描述文件与设备管理 -> 点击未安装的证书进行安装
安装成功后需要在 通用 -> 关于本机 -> 证书信任设置 中勾选Charles证书(针对于IOS手机)
配置完后就可以使用charles进行抓包了
代理操作
有时候,需求线下调试时需要后端环境,需要进行在本地进行代理,我们可以使用charles进行
上面展示的是某个移动端的抓包数据
对要代理的请求进行右键,然后选择map remote,会出现下面的展示:
在map to中填入要代理到的地址,然后点击ok就可以了。
以上就是charles的基本使用和配置,有问题大家可以互相交流,本人也是在使用中进行学习。