一、Charles简介
Charles 是PC端的一款网络抓包工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
Charles官网下载
Charles 主要功能:
1、抓取 Http 和 Https 网络封包。
2、支持模拟弱网环境。
3、支持mock数据。
4、支持Breakpoints修改网络请求参数。
5、配合SwitchHosts切换不同环境
二、电脑证书安装
无论电脑端还是手机端进行抓包,都需要先安装对应证书才能使用。装好证书后还要配置网页浏览端口(主要用于https网络服务,一般是:443端口),来抓取浏览器上的请求。需在Proxy–>SSL Proxying Settings配置添加Host为*,Port为443。如何所示:
1、安装证书
2、Proxy–>SSL Proxying Setting配置网页浏览端口
三、手机证书安装
在手机接入电脑wifi(或处于同一局域网),手机端配置手动代理:输入安装Charles的电脑的网络地址,端口填8888。手机浏览器输入: chls.pro/ssl ,来下载安装证书。
1、查看charles端口,一般默认8888
2、手机端wifi详情设置手动代理
3、手机配置好代理,电脑上Charles会弹出弹框,点击运行
4、上述操作,已经可以抓包但会出现unknown报错
手机端浏览器输入:chls.pro/ssl ,来下载并安装证书
注意:
1、android下载的证书,是“.pem”为后缀的文件,需要改成“.cer”文件,双击安装即可
2、ios下载的证书,需要在设置–>通用–>描述文件–>点击Charles Proxy CA文件进入进行安装验证即可
3、Android和iOS需设置证书信任设置
iOS:设置→通用→关于本机→证书信任设置
四、抓包使用
无论电脑端还是手机端抓包,通过Charles抓包查看接口数据
五、备注
1、过滤:
弹窗显示很多CONNECT,在filter输入test进行筛选接口,如下图:
2、出现乱码、请求失败,可以下操作: