工具 | Charles对Chrome浏览器抓包

本文详述了在Mac上如何使用Charles进行HTTP/HTTPS抓包,包括Charles和SwitchyOmega的安装,以及SwitchyOmega的配置。在遇到HTTPS站点抓包乱码时,介绍了安装Charles根证书解决此问题的步骤。通过本文,读者能够学会如何在Chrome中进行网络流量的抓包和分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Charles 和 switchy sharp 配合,可以对 Chrome 进行抓包。

本文以 Mac 电脑中的配置为例,介绍如何实现抓包。(Windows 中操作基本一致)

1. 安装 Charles

可根据自己的电脑下载对应的版本:点击下载 Charles

2. 安装 switchy sharp

如果可以访问 Chrome 应用商店,直接在商店中搜索并下载即可。

如果无法访问 Chrome 应用商店,可以在 https://www.crx4chrome.com 网站中下载,如下图:

下载完成后,打开 Chrome 浏览器的扩展程序管理页面,如下图:

将本地下载的扩展插件托拽到已经打开的扩展程序管理页面即可完成安装,如下图:

3. 配置 Charles

4. 配置 switch sharp

在 Chrome 浏览器的扩展程序管理页面中找到 switch sharp ,然后开启并进行配置,步骤如下:

点击上图的 2 处之后,会打开下图中的页面,然后按照下图配置即可,配置完成之后点击保存

如上图,选中我们新增的代理配置之后,所有的页面访问都会先经过 switch sharp

5. charles 中增加抓包站点

在 charles 中增加需要抓包的站点,步骤如下:

此时,访问 csdn 博客中的页面时,即可从 charles 中看到相关信息,如下图:

6. https 站点抓包乱码问题

6.1. 问题现象

在对 https 页面进行抓包时,可能会出现下图中的 unknown 或者乱码情况:

6.2. 原因和解决方案

原因:没有将 Charles 的根证书添加到信任列表中。

解决方案:安装 Charles 根证书,并将其添加到信任列表中,具体步骤如下:

从系统的 启动台 中找到 钥匙串 应用:

然后双击打开,找到对应的证书,然后按照下图操作:

在上图中,选择 始终信任 之后,点击左上角的关闭按钮关闭页面,然后就会出现下图中的密码输入框:

点击上图中的 更新设置 之后,可能界面上还是会看到 此证书已标记为不受此账户信任 的提示,此时,我们退出 钥匙串 应用(退出快捷键 cmd+q),重新打开之后即可正常,如下图:

1.7. 相关参考

charles浏览器抓包https_抓包工具Charles的使用教程


### 使用 Charles 在 Windows 系统中捕获 Chrome 浏览器的网络流量 #### 安装并启动 Charles 确保已经安装好 Charles 并成功启动该应用程序。首次运行时,可能会提示更新许可证或试用期通知。 #### 配置 Charles 代理设置 默认情况下,Charles 的监听地址为 `127.0.0.1` (即本地回环接口),端口通常是8888。可以通过菜单栏中的 **Proxy** -> **Proxy Settings...** 来确认此配置[^1]。 为了防止端口冲突问题,在命令行工具(cmd 或 PowerShell) 中执行如下指令来检查是否有其他程序占用了相同端口: ```powershell netstat -aon | findstr "8888" ``` 如果有冲突,则可以在上述提到的 **Proxy Settings** 对话框里更改 Charles 所使用的端口号[^3]。 #### 设置系统级别的 HTTP(S) 代理 对于 Windows 操作系统的全局代理设定,可通过控制面板里的 Internet Options 进入连接选项卡下的局域网(LAN)设置部分完成;也可以通过修改注册表实现自动切换功能(不推荐新手尝试)[^1]。 不过更简单的方法是在 Charles 软件内部操作——依次点击顶部菜单栏上的 **Help**, 接着选择 **Install Charles Root Certificate on this Machine** ,按照指示一步步完成证书部署过程。 #### 修改 Chrome 启动参数以启用手动代理模式 关闭当前所有的 Chrome 实例之后,找到快捷方式属性窗口内的目标(Target)字段追加以下字符串: ```plaintext --proxy-server=127.0.0.1:8888 --ignore-certificate-errors-spki-list ``` 注意两个参数之间需保留空格分隔开,并且整个附加串应当置于原路径最后面加上双引号包裹起来的形式保存生效[^4]。 #### SSL/TLS 解密准备 由于现代 Web 应用大多采用 HTTPS 协议传输数据,默认状态下这些加密过的请求响应体不会被中间人形式的日志记录所读取理解。因此还需要进一步调整让 Charles 获取解码能力。 前往 **Proxy** 下拉列表内选取 **SSL Proxying Settings...** 。勾选 Enable SSL Proxying 复选框开启这项特性。接着把 *.localhost, *.*local, *.dev 加入 Location 列表之中以便覆盖常见的开发测试域名范围[^2]。 另外记得再次强调一遍关于 CA 根证书的重要性:只有当客户端信任了这个自签名机构签发出来的凭证以后才能顺利解开服务器返回的信息流。所以务必参照之前提及的方式确保持有最新版本并且正确导入到了操作系统以及浏览器层面的信任库当中去。 现在重新打开经过特别定制后的 Chrome 版本浏览网页试试看吧!应该就能看到详细的 HTTP(s) 请求详情啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CnPeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值