whoer中DNS查询原理

最近因为注册Spotify了解到了whoer这个网站,发现其可以检测到DNS服务器地址,觉得很好奇,所以查资料,这里梳理下实现原理。

https://static.1991421.cn/2022/2022-08-07-164940.jpeg

  1. whoer网站发起了一个CSS请求https://sdvtq1659862.ed.whrq.net/css/null.css?_=1659862263203

    这个域名是随机生成的子域名,文件名也可以看出是不存在的文件

  2. 因为该DNS本地肯定没有缓存,因此会一层层向上找,最终会指向whrq.net DNS服务器,根据查询请求,DNS服务器记录下了sdvtq1659862及来源DNS IP地址

  3. whrq将该信息同步给了站点服务,之后用户端会发起携带sdvtq1659862参数的请求,服务端即返回了DNS相关信息

    https://static.1991421.cn/2022/2022-08-07-165455.jpeg

综上,whoer是利用了DNS解析查询过程拿到了DNS服务器地址信息,因为DNS解析过程中上下文只有域名,因此动态域名解决了状态信息,利用子域名来区分各个用户。

综上即明白了whoer是如何做到的,延伸下其它字段是如何获得的,操作系统/浏览器版本,这些可以根据请求头UA字段拿到,而提供商则是可以根据IP地址去查。

done,原理即如此。

相关网站