1、参考文章
2、相关介绍
2.1 简介
- Charles是在Mac下常用的网络封包(网络通信中按协议封装传输的数据单元)截取工具,在做移动开发时,为了调试与服务器的网络通信协议,常常需要截取网络封包来分析。
- Charles通过将自己设置成系统的网络访问代理服务器,将所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
2.2 下载
打开charles中文网 : www.charles.xin/
下载需要的安装包
3、使用教程
3.1 Charles的主要功能包括:
- (1)截取http和https网络封包。
- (2)支持重发网络请求,方便后端调试。
- (3)支持修改网络请求参数。
- (4)支持网络请求的截获并动态修改。
- (5)支持模拟慢速网络。
3.2 将Charles设置成系统代理
选择菜单中的“proxy-->Windows Proxy”将Charles设置成系统代理。
3.3 Charles主界面介绍
Charles有两种查看封包的视图,分别是:“Structure”和“Sequence”.
- (1) Structure 视图 将网络请求按照访问的域名分类。
- (2) Sequence 视图 将网络请求按照访问的时间排序。
请求多了有时候会看不过来,可以通过Filter,输入关键字快速筛选出URL中带指定关键字的网络请求。
3.4 Charles过滤网络请求
4、Charles手机抓包
4.1 确保手机和电脑在同一WiFi网络
在手机上配置代理,使其流量经过Charles:
- iOS设备:设置 -> 无线局域网 -> 当前Wi-Fi -> 配置代理 -> 手动
- Android设备:Wi-Fi设置 -> 修改网络 -> 高级选项 -> 手动代理
4.2 手机端证书安装
手机浏览器访问 chls.pro/ssl下载并安装证书
iOS设备还需要在"设置 → 通用 → 关于本机 → 证书信任设置"中启用Charles证书信任
4.3 安装证书到本机(电脑设备证书安装)
4.4 配置代理
在菜单中选择"Proxy" -> "Proxy Settings",设置代理端口号(默认8888)。确保勾选"Enable transparent HTTP proxying"和"Enable SSL Proxying"选项。
Charles显示"Encrypted"是因为HTTPS请求内容被加密,Charles无法解密。
配置SSl代理
配置完SSL代理后,抓包内容就是解密后可见的了。