求科普 DNS 劫持和 dns 污染的区别

2017-05-24 02:34:46 +08:00
 yuedingwangji

网上看了很多文章,还是不太懂,感觉好懵逼;这里说下我现在的理解: dns 劫持: 就是访问的域名服务器被黑,导致其 A 记录被修改(个人感觉这个好像可能行不大吧,根服务器肯定是不太可能的了, 运行商下一层的 dns 缓存服务器还比较有可能) dns 污染: 劫持访问目的端口位 53 的报文, 对其回复一个自己虚假的 IP 地址。

这样理解对么

2856 次点击
所在节点    问与答
4 条回复
dikcen
2017-05-24 03:13:38 +08:00
劫持就是客户机的 dns 请求被中间人拦截、并回复了假的信息。污染不拦截 dns 请求,而是利用规则直接就欺骗 dns 服务器,使其回复错误信息。
错了轻喷。
fengxing
2017-05-24 03:52:31 +08:00
DNS 劫持是针对 DNS 协议:
一种是通过技术手段直接修改 dns 的解析结果。
另一种是直接把全部的查询结果都劫持到另外的服务器上。
这两种都不经过原本的 dns 服务器直接给你返回错误的 IP。

dns 污染是针对域名的:
dns 协议依然会去原本的递归服务器查询,如果是非污染域名,那么正常返回结果。
如果是需要污染的域名,那么墙就会优先返回一个错误的 IP。同时递归服务器依然会返回结果。
因为 dns 协议只会使用最快的那个,这样就算正确的接收到了,但是错误的先到达,导致只能显示错误的结果。


个人理解,有错请各位大佬指出。
anyclue
2017-05-24 08:24:58 +08:00
DNS 劫持:你去解析一个不存在的域名的时候,DNS 本来应该告诉我们这个域名不存在,但是被劫持后 DNS 就会给我们解析出一个 IP。常见的情况就是电信 114 搜索。解决方法就是换成 Google DNS 就可以了解决了。

DNS 污染:你使用一个不存在的 IP (肯定不是 DNS )作为 DNS 去解析某个域名的时候,理应没有任何返回,但是却能返回一个错误 IP。为了证明是污染不是劫持,你再用这个不存在的 IP 去解析不存在的域名,这个时候你会发现没有任何返回,这就说明这个不存在的域名没有被污染。解决方法就是 DNSCrypt 什么的了。
yuedingwangji
2017-05-25 10:35:47 +08:00
@fengxing 有点不太懂,是这样么,dns 劫持相当于,我截获你发往 目的 53 端口的包, 然后直接直接回包, 或者返回一个包给你,告诉你需要去我指定的服务器上去查询结果
dns 污染就是 , 你发包去递归服务器查询, 比如 www.baidu.com,这个时候,我不进行拦截,我直接回包, 告诉你 www.baidu.com 的解析地址? 对么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/363354

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX