丧心病狂的三星电视ACR广告服务
会注意到这个问题完全在我意料之外。
因为一些开发需求我自建了一个私有的DNS给部分局域网的设备,DNS service跑在一台IoT设备的板子上,结果三天两头板子高CPU->过热->死机。回溯以后发现高CPU是自建DNS Service造成的,但是连这个DNS的都只有一些低频率使用的电视、电扇,不存在什么高负荷的使用场景。
一通定位锁定DNS Request来源居然是Samsung智能电视。为了直观展现,我另外上了一个AdGuardHome服务,请求水平大概是这样的:
我有一堆设备,但是Samsung直接占据了所有设备的60% DNS request。排名第二的,居然是服务器,你们感受一下。
我不知道这个DNS请求频率的逻辑到底在哪里(毕竟现在很多服务都特别喜欢用Ultra-low TTL),但是Samsung电视的请求频率已经高到了丧心病狂的程度。最离谱的是它根本没有什么开机关机的优化,插着电就request,别管你电视开着关着、是不是在使用。
譬如夜深人静的时候,所有人都睡了,Samsung电视还在孜孜不倦的发DNS Request:
对你没看错,在夜间屏幕关闭的情况下还会以~2 QPS的速度发送DNS请求,具体请求了什么内容没有抓包看不到,但这个设计逻辑已经是非常的匪夷所思了。
搜索解析的相关域名以后发现这些DNS请求均来源于Viewing Information Services,关了服务+完全重启电视以后所有DNS请求不再发生。但是保险起见最终给Samsung电视直接断了wifi,反正三星电视自己的软件生态根本没办法用,反正Android TV、Apple TV不知道比Samsung系自带的系统高到哪里去了,为了防止流氓像Windows Defender一样更新后自动重开,直接断网了事。
是万万想不到一做电视的可以流氓到这种程度。