在macos下,charles如何配置支持https抓包?
·
一、准备工作
- 下载安装Charles
- 访问官网(https://www.charlesproxy.com/download/)下载macOS版本DMG安装包
- 打开DMG,将Charles图标拖到"Applications"文件夹完成安装
- 首次启动时,系统会提示授予网络权限,选择"Allow"
二、基本代理设置
-
开启系统代理
- 在Charles菜单栏选择 Proxy > macOS Proxy(确保选项前有√)
- Charles会自动配置系统代理,将HTTP/HTTPS请求转发到Charles(端口默认为8888)
- 验证:打开系统偏好设置 > 网络 > 高级 > 代理,确认Web代理(HTTP)和安全Web代理(HTTPS)均设置为
127.0.0.1:8888
-
开始抓包
- 点击Charles工具栏中的红色圆点(或选择 File > Start Recording),确保显示"Recording"状态
三、HTTPS抓包核心配置(关键步骤)
-
安装Charles根证书
- 在Charles菜单栏选择 Help > SSL Proxying > Install Charles Root Certificate
- 系统会自动打开"钥匙串访问"应用
-
信任证书(重要)
- 在钥匙串访问中找到名为 “Charles Proxy CA” 的证书(可能需要展开"证书"类别)
- 双击证书,在弹出窗口中展开"信任"部分
- 将"使用此证书时"下拉菜单从"使用系统默认值"改为 “始终信任”
- 关闭窗口,系统提示输入管理员密码,验证后完成信任
- (若使用Safari,建议退出并重新启动浏览器使证书生效)
-
启用SSL代理
- 在Charles菜单栏选择 Proxy > SSL Proxying Settings
- 在弹出窗口中勾选 “Enable SSL Proxying”
- 点击 Add 按钮添加抓包规则:
- Host:
*.baidu.com(抓取百度所有子域名)或直接输入www.baidu.com - Port:
443(HTTPS默认端口)
- Host:
- (可选)如需抓取所有HTTPS网站,添加
*:*通配规则 - 点击 OK 保存设置
四、抓取百度请求实操
-
开始抓包
- 确保Charles显示"Recording"(红色圆点)且已开启macOS Proxy和SSL Proxying
-
访问百度
- 打开浏览器(推荐Safari或Chrome)
- 访问百度首页:https://www.baidu.com
- 进行搜索或浏览,Charles会自动捕获所有百度相关的HTTPS请求
-
查看抓包结果
- 返回Charles界面,在左侧面板查看请求列表(Structure视图按域名组织,Sequence视图按时间顺序)
- 点击左侧的 baidu.com 或具体请求,右侧会显示详细的请求和响应信息
五、查看请求和响应详细信息
-
查看请求详情
- 在Charles主界面左侧选择一个百度相关的请求
- 右侧切换到 Request 标签,查看:
- General: 请求URL、方法、协议等基础信息
- Headers: 请求头(包括User-Agent、Cookie等)
- Body: 请求体内容(如POST参数)
-
查看响应详情
- 选择 Response 标签,查看:
- Status: 响应状态码(如200表示成功)
- Headers: 响应头(包括Content-Type、Set-Cookie等)
- Body: 响应内容(网页HTML、JSON数据等)
- 选择 Response 标签,查看:
六、常见问题及解决方案
| 问题 | 解决方案 |
|---|---|
| HTTPS请求显示为"unknown"或不显示内容 | 1. 确认证书已安装并设置为"始终信任" 2. 检查SSL Proxying Settings是否添加了百度域名 |
| 浏览器无法访问网站 | 1. 确保Charles正在运行且显示"Recording" 2. 检查是否勾选了"macOS Proxy" |
| 只能抓到HTTP而非HTTPS请求 | 确认已完成HTTPS抓包核心配置(证书安装和信任、SSL代理启用) |
| Charles界面没有显示任何请求 | 1. 确保浏览器已发送请求(可尝试刷新页面) 2. 检查代理设置是否正确 |
七、实用技巧
-
过滤请求
- 在Charles顶部搜索框输入"baidu",快速过滤出所有百度相关请求
-
保存和导出
- 右键点击请求 > Save Response 或 Save Request,可保存为文件
-
重新发送请求
- 右键点击已捕获的请求 > Repeat,可重新发送相同请求
总结
至此,您已完成Charles在macOS下抓取百度HTTPS请求的完整配置!关键步骤总结:
- 开启系统代理(Proxy > macOS Proxy)
- 安装并信任Charles根证书(必选)
- 启用SSL代理并添加百度域名规则(Proxy > SSL Proxying Settings)
- 开始抓包并访问百度验证
后续可尝试抓取其他HTTPS网站,或探索Charles的更多高级功能(如断点调试、请求修改等)。如需停止抓包,取消勾选"macOS Proxy"或点击红色圆点停止Recording即可。
更多推荐
所有评论(0)