安装
- wget -q -O - https://www.charlesproxy.com/packages/apt/PublicKey | sudo apt-key add -
- sudo sh -c 'echo deb https://www.charlesproxy.com/packages/apt/ charles-proxy main> /etc/apt/sources.list.d/charles.list'
- sudo apt-get update
- sudo apt-get install charles-proxy
注册
- help>Registered
- Registered Name: https://zhile.io
- License Key: 48891cf209c6d32bf4
保存证书
菜单 Help->SSL Proxying->Save Charles Root Certificate...
证书命名为 CharlesRoot.cer 类型选择 cer
openssl x509 -inform der -in CharlesRoot.cer -outform pem -out CharlesRoot.crt
安装证书
- sudo cp CharlesRoot.crt /usr/share/ca-certificates
- sudo dpkg-reconfigure ca-certificates // 选择 ask, 勾选 CharlesRoot.crt 并确认
开拓期 http 代理
运行 charles 软件, 菜单 Proxy->Proxy Setting-> 标签 Proxies 下勾选 Enable transparent HTTP proxying
至此, 服务端配置结束
设置抓取 https
,
在 Charles 中 Proxy -> SSL Proxy Settings -> SSL Proxy 中设置一个 Host 为 *,Port 为 443 的 Location, 主要是用来代理所有的 HTTPS 请求;
安卓抓包
1, 配置代理
2, 下载证书
浏览器中输入 http://chls.pro/ssl 来安装证书
到系统设置 -> 安全 -> 从设备内在或 sd 卡安装证书来安装
抓包
在 charles 软件中 Proxy -> Start Recording
ps. 抓到的请求域名下面的具体请求都显示为 < unknown>, 解决办法为:
在对应的域名上, 鼠标右键选择 Enable SSL Proxying 即可
问题
无法抓取 Chrome
Chrome 安装 SwitchyOmega 插件, 浏览器中用 SwitchyOmega 切换至设置的 charlse 8888 端口的代理, 地址设置 127.0.0.1
参考内容
来源: http://www.bubuko.com/infodetail-3170907.html