whoer中DNS查询原理
最近因为注册Spotify了解到了whoer这个网站,发现其可以检测到DNS服务器地址,觉得很好奇,所以查资料,这里梳理下实现原理。
whoer网站发起了一个CSS请求
https://sdvtq1659862.ed.whrq.net/css/null.css?_=1659862263203
这个域名是随机生成的子域名,文件名也可以看出是不存在的文件
因为该DNS本地肯定没有缓存,因此会一层层向上找,最终会指向whrq.net DNS服务器,根据查询请求,DNS服务器记录下了sdvtq1659862及来源DNS IP地址
whrq将该信息同步给了站点服务,之后用户端会发起携带
sdvtq1659862
参数的请求,服务端即返回了DNS相关信息
综上,whoer是利用了DNS解析查询过程拿到了DNS服务器地址信息,因为DNS解析过程中上下文只有域名,因此动态域名解决了状态信息,利用子域名来区分各个用户。
综上即明白了whoer是如何做到的,延伸下其它字段是如何获得的,操作系统/浏览器版本,这些可以根据请求头UA字段拿到,而提供商则是可以根据IP地址去查。
done,原理即如此。