最近需要调试手机端接口, 于是选择使用 charles
charles 相比 fiddler
- charles 界面简洁友好, 而 fiddler 界面冗余
- charles 功能更强大, 默认根据域名和路径对抓到的请求自动分组
- 抓包手机时, charles 修改 hosts 会即时生效, 而 fiddler 需要重启
下载地址
https://www.charlesproxy.com/latest-release/download.do
注册
https://zhile.io
48891cf209c6d32bf4
安装根证书
help > ssl proxy > install charles root certificate
安装证书 > 下一步 > 受信任的根证书颁发机构 > 下一步 > 完成
允许抓 https
proxy > ssl proxying settings > add 两个 *
根据需要阅读对应教程
iOS 系统抓包
确保手机和笔记本在同一 wifi 下
help > ssl proxy > install charles root certificate on a mobile device or remote browser
弹窗里的 ip 端口会用于后续的手机 wifi 设置
ios 点击 wifi 右侧的感叹号
http 代理 > 手动
填入 charles 弹窗里的 ip 端口, 点击存储
此时, charles 会弹窗提醒有连接尝试接入, 是否允许
点击 allow
手机浏览器访问 http://chls.pro/ssl
提示下载描述文件, 点击允许
设置 > 通用 > vpn 与设置管理
找到 charles 点击安装
输入手机锁屏密码, 再次点击安装
通用 > 关于本机 > 证书信任设置
此时就全部配置完成
浏览器访问网页, 查看抓包信息
点击 tab 切换不同展示方式和内容
抓包结束后, 记得关闭代理
点击 wifi 右侧的感叹号 > 配置代理 > 自动
总结:
windows 和手机要在相同 wifi 下
windows:
- 安装 charles
- 配置 https 根证书
- 配置抓取 https 的 hosts 和 port 的模式为 *
手机:
- 手机配置 wifi 代理
- 浏览器访问, 下载根证书
- 安装根证书
- 信任根证书
- 抓包完成后, 记得还原 http 代理为自动