本文节选自霍格沃兹测试开发学社内部教材
使用普通的抓包工具比如 tcpdump 无法抓取到加密过的 HTTPS 协议的数据包。但是 Charles 经过配置,可以抓取并分析 HTTPS 协议的数据包,下面的内容将会具体讲述 Charles 如何配置以及如何抓取 HTTP、HTTPS 数据包。
环境安装
需要安装 Charles,参考章节常用代理工具中的 Charles 部分。
配置过程
-
配置代理,Charles 可以抓取移动端上的数据,需要计算机和移动端在同一网段(同一 wifi)。打开 Proxy->Proxy Settings,填入代理端口 8888,勾上 Enable transparent HTTP proxying(在如果想要抓取到 https 的数据包,还需要进行后面的操作):
-
获取证书:在浏览器访问“chls.pro/ssl” 下载证书,并在 Proxy->SSL Proxying Settings->SSL Proxying,在 Include 中点击 Add,并在 host 处填写*,同时点击 Enable SSL Proxying。然后选择 OK:

-
浏览器安装证书:点击下载好的证书,直接安装。
-
信任证书:打开证书(Mac 系统为钥匙串访问)->点击证书->双击名称含有 charles 的选项->点击信任->选择始终信任。若 windows 系统证书信任配置,可参考下图:

- 移动端配置证书:在移动端浏览器打开chls.pro/ssl,直接安装即可。

注意:Android 6.0 默认用户级别证书,7.0 以上需要修改 apk 包属性
经过如上的操作,即可成功抓取到 http/https 的请求数据包。
本文介绍了如何配置和使用Charles抓取HTTP和HTTPS协议的数据包。首先,需要安装Charles并设置代理端口8888,启用透明HTTP代理。接着,下载并安装SSL证书,确保在浏览器和移动端信任该证书。对于Android 7.0及以上版本,可能需要额外的配置步骤。完成这些步骤后,Charles就能成功捕获http/https请求数据包。
1254

被折叠的 条评论
为什么被折叠?



