AppleTV 无法直接安装证书和修改代理,需要借助添加自定义描述文件的方式来实现,才能对 app 进行抓包。
准备环境
安装 charles
保证 Mac 和 AppleTV 连接同一局域网
charles 配置抓包 https 流量
- 打开 charles,选择菜单
Proxy -> SSL Proxying Settings...
,勾选Enable SSL Proxying
,并添加新的 location,Host
填*
,Port
填443
建议把
Proxy
菜单中的macOS Proxy
去掉勾选,避免 Mac 的流量和 AppleTV 的流量混在一起
创建代理描述文件
- 打开 charles,选择菜单
Help -> SSL Proxying -> Save Charles Root Certificate
,并选择把证书保存为.cer
格式
打开 Apple configurator,选择菜单
文件 -> 新建描述文件
点击
通用
,在名称
中填一个易于识别的名称,如charles proxy
点击证书
,并把刚刚保存的 charles root 证书上传上去
点击Wi-Fi
,填上 AppleTV 连接的 wifi 信息和 charles 代理信息
最后使用快捷键 cmd+s
保存描述文件到本地或 iCloud 中,推荐保存到 iCloud
在 AppleTV 中添加描述文件
- 点击 Apple configurator 主菜单,选择
配对设备
,把AppleTV
配置并连接上
- 连接上后,Apple configurator 主界面等一会会显示 AppleTV,右键选择
添加 -> 描述文件
,选择刚刚保存的描述文件
- 等一会 AppleTV 会提示安装描述文件,一路选择安装就可以
- 安装完成后,会显示刚刚安装的描述文件
- 进入 AppleTV 设置,选择
通用 -> 关于 -> 证书信任设置
,把charles
证书设置为信任(假如关于
中没出现证书信任设置
,证明描述文件配置有误,导致描述文件没添加成功)
- AppleTV 选择
系统 -> 重新启动
,重启后 AppleTV 会改为使用描述文件中配置的代理 wifi 连接
使用完后可以到菜单
通用 -> 描述文件
中删除添加的自定义描述文件,删除后连接的 wifi 会丢失断网,需要自已再次手工连接
charles 查看 https 流量
等 AppleTV 重启完成,打开想要抓包的 app,在 charles 就能看到 app 的 https 请求了