全球主机交流论坛

标题: 想问下dns清洗原理是啥 [打印本页]

作者: 撸一炮    时间: 2022-8-2 13:28
标题: 想问下dns清洗原理是啥
网站被污染,找了一家清洗的,清洗了百分之八十左右。到底怎么做到的
作者: DaShi    时间: 2022-8-2 13:31
抢答,和DNS污染原理相同
作者: sanxian    时间: 2022-8-2 13:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: DaShi    时间: 2022-8-2 13:34
sanxian 发表于 2022-8-2 13:33
dns污染原理是啥

抢答
作者: sanxian    时间: 2022-8-2 13:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: DaShi    时间: 2022-8-2 13:36
sanxian 发表于 2022-8-2 13:35
原来是这个意思 抢先返回假的ip地址吗


作者: G.K.D    时间: 2022-8-2 14:15
DNS 污染,本质上就是如楼上所说的 DNS 抢答。
因为常规 UDP 协议的明文 DNS 是不验证结果是否正确的,只会无脑接收第一个回答(即错误的 DNS 解析结果),后续收到的正确结果都会被抛弃。
所以只需要再全国各个地区加个旁路 DNS 服务器,检测明文的 DNS 请求,抢先返回错误的 DNS 解析结果,因此你收到被污染的 DNS 解析结果时,真正的 DNS 请求还在路上跑呢。。。
作者: attis    时间: 2022-8-2 14:19
我还以为大师抢答是在说自己
作者: mjjok    时间: 2022-8-2 14:39
G.K.D 发表于 2022-8-2 14:15
DNS 污染,本质上就是如楼上所说的 DNS 抢答。
因为常规 UDP 协议的明文 DNS 是不验证结果是否正确的,只会 ...

以后有没有办法做到,dns自己判断正确的应答?

给dns一个指定的判断标准,只要不符合的全抛弃,直到正确为止,然后返回正确的结果?
作者: G.K.D    时间: 2022-8-2 14:59
mjjok 发表于 2022-8-2 14:39
以后有没有办法做到,dns自己判断正确的应答?

给dns一个指定的判断标准,只要不符合的全抛弃,直到正确 ...

现在就能做到(或者说是类似的),那就是加密 DNS 呀。
DoT、DoH、DoQ、DNSCrypt 等等。

安卓和 Win11 都已经原生支持其中一部分了。
作者: acpp    时间: 2022-8-2 15:00
G.K.D 发表于 2022-8-2 14:15
DNS 污染,本质上就是如楼上所说的 DNS 抢答。
因为常规 UDP 协议的明文 DNS 是不验证结果是否正确的,只会 ...

那这DNS污染是谁搞的?
作者: 呆呆的游客    时间: 2022-8-2 15:13
G.K.D 发表于 2022-8-2 14:15
DNS 污染,本质上就是如楼上所说的 DNS 抢答。
因为常规 UDP 协议的明文 DNS 是不验证结果是否正确的,只会 ...

用8.8,8,8也会被污染吗、?
作者: kapai    时间: 2022-8-2 15:18
呆呆的游客 发表于 2022-8-2 15:13
用8.8,8,8也会被污染吗、?

必然抢答
作者: 醋醋来啦    时间: 2022-8-2 16:42
  就是赛跑啊,你只要跑的比 gwf 快,那么就干不到你
作者: G.K.D    时间: 2022-8-2 17:05
呆呆的游客 发表于 2022-8-2 15:13
用8.8,8,8也会被污染吗、?

国内用国外的明文 UDP 协议 DNS 是没有意义的,甚至还不如用国内的 DNS。

对于明文的 UDP 协议 DNS,不管用国内的还是国外的 ,都会被 DNS 污染/劫持/抢答

而且国外的 DNS 延迟/稳定性显然不如国内 DNS,解析结果也不如国内 DNS(国内如视频类网站的分发 CDN 非常依赖国内 DNS 来分地区 精细化解析,得到的解析 IP 才能离你更近,速度更快,国外 DNS 我遇到过解析国内网站,结果分配到国外 IP 的情况。。。

如果你用的是加密 DNS,那么就不建议使用国内的加密 DNS 了。
因为这些国内 DNS 虽然加密了,但是因为国情,这些国内公共 DNS 提供商必须主动污染自己的源头,因此哪怕加密 DNS 杜绝了 DNS 污染/劫持/抢答 问题,但依然被迫污染源头,用户得到的依然是错误 IP
注意,这些国内加密 DNS 的源头污染是根据 IP 判断的,国内用户使用就会返回污染 IP,国外用户则是正确 IP。
作者: 呆呆的游客    时间: 2022-8-2 18:59
G.K.D 发表于 2022-8-2 17:05
在国内用国外的明文 UDP 协议 DNS 是没有意义的,甚至还不如用国内的 DNS。

对于明文的 UDP 协议 DNS, ...

谢谢大佬科普。

有个无法理解的地方,我明明请求的8.8..8.8,没往其他地方请求啊,他怎么污染的啊?难道是运营商搞的鬼在中间给我截胡了,提前返回。 不是运营商内部搞鬼想不到什么方式了
作者: G.K.D    时间: 2022-8-2 19:15
呆呆的游客 发表于 2022-8-2 18:59
谢谢大佬科普。

有个无法理解的地方,我明明请求的8.8..8.8,没往其他地方请求啊,他怎么污染的啊?难道 ...

我前面不都解释了吗??
你的设备只认第一个返回的 DNS 解析结果,因此只需要在半路上设个卡,检测到了 指定域名 的 DNS 解析请求,就会伪造一份假的发给你,因为是半路提前发的,所以会比正确结果更快到你家。

而为了保证 DNS 污染率,负责污染的设备要离你、离全国网民足够近,那还有什么比运营商更好的选择呢?

国内运营商都是国企,本身就是墙的组成部分,包括国内的各大互联网公司都参与了。

除了墙以外,各地运营商也有自己的黑名单,比如移动的墙中墙很出名。另外,反诈劫持也是由地方相关部门将域名提交给当地运营商来劫持的。因此哪怕没有墙,运营商也一直都在干 DNS 污染/劫持/抢答 这行为。
作者: nnt    时间: 2022-8-3 00:56
看了半天也没见有人说清洗到底是咋搞的
正巧之前有了解过,就尝试来解答一下,纯手打

我们都知道,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包便不会被抢答。

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

以上就是我对DNS清洗原理的理解。如果不对之处,欢迎指正,以上内容均来源于互联网相关资料搜集整理,非常感谢前人的探索工作。




欢迎光临 全球主机交流论坛 (https://kokgog.com/) Powered by Discuz! X3.4