可通过AssetCacheLocatorUtil命令扫描验证内容缓存可用性:执行sudo /usr/bin/AssetCacheLocatorUtil查看JSON响应,若为空则无缓存服务;可加-d参数指定DNS服务器重试;再用dns-sd -B _aaplcache._tcp local.检查mDNS广播是否正常。

如果您在Mac上配置了内容缓存服务,但不确定其他Apple设备能否发现并使用该缓存,则可能是由于缓存服务未正确广播或DNS发现机制未生效。以下是通过命令行工具验证内容缓存可用性的具体操作步骤:
一、使用AssetCacheLocatorUtil扫描本地网络中的内容缓存
AssetCacheLocatorUtil 是 macOS 内置的诊断工具,用于主动查询局域网内可被发现的内容缓存服务器。它不依赖客户端自动发现机制,而是直接向本地子网发送探测请求,并返回响应的服务地址与端口信息。
1、打开“终端”应用(可在“访达”→“应用程序”→“实用工具”中找到)。
2、输入以下命令并按下回车键:sudo /usr/bin/AssetCacheLocatorUtil。
3、系统会提示输入当前用户密码,输入后按回车(输入时无视觉反馈,属正常现象)。
4、等待数秒,若局域网中存在活跃且可访问的内容缓存服务,终端将输出类似 {"Caches":[{"Address":"10.0.0.5","Port":52421,"RegistrationName":"assetcache._tcp.local.","ServerUUID":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}]} 的JSON格式响应。
5、若输出为空数组({"Caches":[]})或提示 No caches found,则表明当前子网内无响应的内容缓存服务。
二、强制指定DNS服务器并重试定位
当局域网使用非标准DNS解析(如自建DNS未正确发布_aaplcache TXT记录)时,AssetCacheLocatorUtil 默认可能无法获取缓存地址。此时可通过手动注入DNS服务器地址,绕过系统默认解析路径,直接查询已知DNS服务器返回的缓存记录。
1、确认您局域网中运行DNS服务的设备IP地址(例如:10.0.0.1)。
2、在终端中执行以下命令:sudo /usr/bin/AssetCacheLocatorUtil -d 10.0.0.1(将“10.0.0.1”替换为实际DNS服务器IP)。
3、观察输出结果是否包含有效缓存条目;若仍为空,需检查该DNS服务器是否已正确配置 _aaplcache._tcp.local. 或 _aaplcacheN._tcp.local. 的TXT记录,且记录值形如 fss=10.0.0.5。
三、结合mDNS查询验证_aaplcache服务广播状态
内容缓存服务依赖mDNS(多播DNS)广播其存在,AssetCacheLocatorUtil底层亦基于此机制。若广播失败,客户端将无法发现服务。使用独立mDNS工具可分离验证广播层是否正常工作。
1、在终端中执行:dns-sd -B _aaplcache._tcp local.。
2、保持命令运行约10秒,观察是否有服务名称(如 aaplcache-1234567890._aaplcache._tcp.local.)出现在输出中。
3、若无任何服务名输出,说明内容缓存服务未启动mDNS广播,需检查“共享”偏好设置中“内容缓存”是否已启用,且“高级选项”中未禁用“允许其他设备发现此缓存”。
4、若有服务名输出,可进一步执行:dns-sd -L "aaplcache-1234567890" _aaplcache._tcp local.(将引号内名称替换为上一步实际返回的服务名),查看其TXT记录是否包含有效 fss= 字段及对应IP。

















