[原创] 用Charles Proxy来抓包Chrome浏览器的数据

charles proxy

查看Charles Proxy文章合集,请点击这里
本文适用的操作系统:Ubuntu

Charles Proxy是一个HTTP代理/HTTP监视器/反向代理,它使开发人员能够查看其计算机和Internet之间的所有HTTP和SSL/HTTPS流量。这包括请求、响应和HTTP headers(其中包含cookie和缓存信息)。

在Chrome浏览器中把代理服务器设置成Charles Proxy在本地提供的代理,可以让Charles Proxy把Chrome的网络流量抓取下来。
配置方法如下。

Charles Proxy端的配置
Proxy→Proxy Settings:
charles proxy settings
Charles Proxy软件打开后,会启动一个代理服务器,在这里你可以修改代理服务器的端口等信息,通常来说保持默认参数即可。
文章来源:https://www.codelast.com/
 Proxy→SSL Proxying Settings:
charles ssl proxying settings
勾选上“Enable SSL Proxying”,这样可以对https的流量进行抓包。
并且在“Location”里设置你感兴趣的域名,注意:只有这些域名的流量会被抓包。
文章来源:https://www.codelast.com/
 导出Charles Proxy的证书
在Charles界面上点击菜单导出 .pem 证书:

Help→SSL Proxying→Save Charles Root Certificate

把文件保存到 ~/charles.pem
文章来源:https://www.codelast.com/
 Chrome浏览器端的配置(以Ubuntu系统上的Chrome为例)
 把证书导入Chrome
依次打开Chrome的如下页面:
设置”→“安全和隐私设置”→“安全”→“管理证书”→“授权机构”:

点击“导入”按钮,选择刚才生成的 .pem 证书文件,会弹出下面的对话框:

勾选第一项。
文章来源:https://www.codelast.com/
 配置Chrome的代理
使用Chrome的SwitchyOmega插件,添加一个名为“Charles Proxy”的情景模式:

文章来源:https://www.codelast.com/
 测试
在Chrome的SwitchyOmega插件中选择刚配置好的Charles Proxy情景模式,再访问一个前面设置好的感兴趣的域名下的网页。
在导入证书之前,会发现抓不了:

——界面上全是红叉,以及 Failed。

在导入了证书之后,再试一次,会发现抓包可以成功完成:

——状态码是200,以及Status是Complete,这说明一切正常。

文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤ 
转载需注明出处:codelast.com 
感谢关注我的微信公众号(微信扫一扫):
wechat qrcode of codelast
以及我的微信视频号:

发表评论