全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 4096|回复: 19
打印 上一主题 下一主题

DNS清洗原理简单剖析

[复制链接]
跳转到指定楼层
1#
发表于 2022-8-3 00:57:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 nnt 于 2022-8-3 03:01 编辑

刚刷论坛看到一个帖子:https://www.91ai.net/thread-1055204-1-5.html

看了半天也没见有人说清洗到底是咋搞的
正巧之前有了解过,就尝试来解答一下,纯手打

我们都知道,DNS的查询过程是个递归的流程
比如说,当你要访问www.example.com,需要先知道example.com的NS,而这又需要.com的NS
整个过程需要几方配合:LDNS、ADNS
LDNS通常是运营商部署的默认DNS

当你访问www.example.com时,会向LDNS查询www.example.com对应的IP地址,而LDNS又会像根DNS服务器查询.com对应的NS,再通过查询.com对应的NS服务器查询example.com的NS服务器,最后向example.com的NS查询www.example.com的IP地址。在这个过程中,由于GFW会抢答最后两步的结果。

而在 查询 example.com 的NS服务器 过程中,很神奇的是GFW直接返回的是一个A记录的DNS响应包,并不是NS记录的响应包,如此一来,LDNS便并不会将其缓存起来,如此,每一次发送请求,即使每次都被GFW拦截,LDNS还是回去查询 example.com 的NS服务器。与此同时,由于GFW的抢答方式的特点,虽然GFW通常离LDNS更近,处理逻辑也更简单,但有时抢答包可能会比 LDNS向.com的NS服务器响应的包慢,虽然概率很小很小(<1%),但是通过不断的发NS记录的查询包,仍然有概率能够触发,这样一来,我们通过设置较长的ttl,来让example.com正确的NS记录能够在LDNS中缓存一段时间。

解决了 example.com 的NS抢答问题,还需要解决www.example.com的抢答问题。首先需要搞清楚,墙部署的位置:出境流量处。因为我们需要向.com的NS服务器查询example.com的NS,而.com的NS服务器在国外,所以会过墙。但通过上一个法子,我们已经将example.com正确的NS记录缓存到LDNS中,如果example.com的NS 服务器在国内的话,那么此查询过程将不会过墙,LDNS向example.com查询其子域www的DNS包便不会被抢答。

总的来说,此种DNS清洗方法的难度特别巨大:由于全国各地的LDNS非常多,而且都是不公开的,且有时仅允许同一个运营商的某一篇地区使用,这使得如果你想让全国大部分LDNS均能缓存住你的NS记录,就只能搜集非常多的ip,不断地向LDNS进行NS查询来实现。且缓存是有时间限制的,过期了就会被删除,并不能一劳永逸,想要用多久就要洗多久...

以上就是我对DNS清洗原理的理解。如果不对之处,欢迎指正,以上内容均来源于互联网相关资料搜集整理,非常感谢前人的探索工作。
20#
 楼主| 发表于 2022-8-3 20:50:31 | 只看该作者
叼爆小朋友 发表于 2022-8-3 07:30
现在不怎么管用了,省骨干网上面也有墙,响应才到达省骨干网就被省骨干网墙抢答了。这就是为什么国内实名注 ...

确实如此,只能说:寄!
18#
发表于 2022-8-3 07:30:37 | 只看该作者
本帖最后由 叼爆小朋友 于 2022-8-3 07:32 编辑

现在不怎么管用了,省骨干网上面也有墙,响应才到达省骨干网就被省骨干网墙抢答了。这就是为什么国内实名注册的域名用国内ns服务器域名都能被污染的原因。除非你能在省骨干网墙抢答之前就返回查询结果。而且国内注册的域名墙可以完全控制你域名的解析,从源头上增加无效的A记录,导致国内国外都被DNS污染。
17#
 楼主| 发表于 2022-8-3 03:04:37 | 只看该作者
全军冲鸡 发表于 2022-8-3 01:43
污染一:向.com对应的NS服务器查询example.com的NS服务器
污染二:向example.com的NS查询www.example.com ...

自建花销爆炸,作为mjj最具性价比的当然是直接买别人的DNS清洗服务啊
16#
 楼主| 发表于 2022-8-3 03:03:15 | 只看该作者
全军冲鸡 发表于 2022-8-3 01:43
污染一:向.com对应的NS服务器查询example.com的NS服务器
污染二:向example.com的NS查询www.example.com ...


污染二不需要大量的IP,污染一才需要,因为当LDNS缓存结果为国内的NS服务器时,查询A记录会直接去询问国内的NS,不需要过墙,所以墙也不会抢答。
15#
发表于 2022-8-3 02:45:11 | 只看该作者
有意思,mark一下
14#
发表于 2022-8-3 02:30:25 | 只看该作者
make
13#
发表于 2022-8-3 01:43:23 | 只看该作者
再通过查询.com对应的NS服务器查询example.com的NS服务器,最后向example.com的NS查询www.example.com的IP地址。在这个过程中,由于高墙会抢答最后两步的结果。

污染一:向.com对应的NS服务器查询example.com的NS服务器
污染二:向example.com的NS查询www.example.com的IP地址
污染一解决:通过设置较长的ttl,来让example.com正确的NS记录能够在LDNS中缓存一段时间。
(依赖于高墙的抢答特点:高墙直接返回的是一个A记录的DNS响应包,并不是NS记录的响应包,LDNS便并不会将其缓存起来)
污染二解决:搜集非常多的ip,不断地向LDNS进行NS查询来实现。
(前提:如果example.com的NS 服务器在国内的话,
并且,缓存是有时间限制的,过期了就会被删除,并不能一劳永逸,想要用多久就要洗多久... )
---
不确定以上总结的是不是楼主的意思
---
污染一的解决看起来像是高墙的缺陷,如果高墙抢答结果就是一个错误的NS服务器,LDNS接收并不再去请求正确的NS服务器,污染一解决办法是不是无效了;
污染二解决方法需要NS 服务器在国内,是否是说DNS清洗实际是用DNS污染同样的抢答手段,作为一个“错误的NS服务器”去返回正确的结果
---
---
作为mjj就想问:
我有一个被污染的域名,DNS清理具体步骤怎么做

@nnt
12#
发表于 2022-8-3 01:43:20 | 只看该作者
纯技术帖,得赞
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-6-11 10:08 , Processed in 0.082867 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表