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 请求了
