@jiabing520a 我也好奇,这个是怎么做到的。我大概的感觉是,这些网站的 name server 是自己搭建的,然后用户访问自己这个测试网页时,会访问自己的 name server,那么就知道用户的 dns ip 了。
如果真是这样,那应该非常准吧。
baobao1270
2020-11-13 21:59:31 +08:00
因为网页查看工具根本无法检测你的 DNS 。
它具体工作的原理是:写一个 DNS 权威服务器,然后对不同主流的 DNS 递归服务器(如 114,谷歌)等响应不同的 IP 地址。最后,根据你请求的 IP 地址来确定你使用的递归服务器。
也就是说,( 1 )它只能检测主流的 DNS 递归服务器,小众的服务器如校园网 DNS 根本无法检测,( 2 )无法解决某一递归服务器上游是另一递归服务器(如自己家里搭建 AdGuard )的情况
johnjiang85
2020-11-14 18:19:41 +08:00
一般的原理就是他的测试网页会给你生成几个随机的域名,你在网页监测的时候你本地浏览器会通过你本地设置的递归 DNS 去向测试网站自己搭建的权威 DNS 请求这几个随机域名,权威 DNS 就可以拿到你设置的 DNS 对外访问的出口 IP 了,然后通过收到请求的随机域名和你在网站上检测的时候生成的随机域名一关联就知道是你的 DNS 请求,然后再测试页面上显示出来就好了