整理记录一次抓包
现有硬件配置记录
Mac电脑,系统macOS Big Sur,版本11.4
iPhone,系统iOS12.0
Charles最新软件版本:V4.6.2,官网下载地址
下载Tips:
复制下载地址,使用迅雷下载更快一点
破解
Charles是收费软件,有条件的同学请支持正版,本文仅供技术交流。
Charles激活码计算器,现阶段亲测仍然可以使用,感兴趣的同学可以点击了解更多。
Charles及手机网络配置
- 网络环境
Mac和iPhone在同一局域网中,即连接同一个WiFi - 设置Charles为手机的代理
查看Mac的IP地址Tips:
按住option点击WiFi图标
-
Charles->Help->Local IP Address
-
- 手机配置代理(设置->无线局域网->进入WiFi详情界面->在配置代理中,选择手动,服务器为Mac的IP地址,端口号默认填写8888->存储)
主要配图:
注:
Charles默认会抓取Mac的网络请求,为防止Mac产生干扰网络请求,可取消勾选macOS Proxy
抓包HTTP
配置完即可进行HTTP的抓取
以上可以清楚的看到请求方式、参数及返回的数据格式等,但对于HTTPS
却是
抓包HTTPS
抓HTTPS,需要在手机
上安装证书
- Charles->Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser
- 根据提示,使用手机先设置好手机代理,然后用自带浏览器Safari打开
chls.pro/ssl
进行下载并安装CA证书
如果手机系统版本高于iOS10,需要在设置->通用->关于本机->证书信任设置中完全信任证书->继续
由于HTTP的端口是80,HTTPS的端口是443,配置SSL Proxying Settings
添加Host:*
Port:443
Clear the current Session或重启Charles即可抓HTTPS
总结
抓包就是将Charles设置为手机代理,HTTP还是HTTPS都一样,只是https协议需要到ca证书,相对安全一些。
更多
如果要抓取Mac浏览器如Chrome的HTTP请求,则勾选macOS Proxy即可。如果要抓HTTPS请求,则需要在Mac
上安装并信任证书
默认根证书未被信任
将信任更改为始终信任
即可正常抓包分析数据了
最后
关闭Charles要取消设置手机代理,不然手机无法访问网络。通过代理访问网络,代理都关闭了,还能访问啥。最后感谢作者 zzzmode 终于能长时间抓包了