网上看了很多文章,还是不太懂,感觉好懵逼;这里说下我现在的理解: dns 劫持: 就是访问的域名服务器被黑,导致其 A 记录被修改(个人感觉这个好像可能行不大吧,根服务器肯定是不太可能的了, 运行商下一层的 dns 缓存服务器还比较有可能) dns 污染: 劫持访问目的端口位 53 的报文, 对其回复一个自己虚假的 IP 地址。
这样理解对么
1
dikcen 2017-05-24 03:13:38 +08:00 via Android
劫持就是客户机的 dns 请求被中间人拦截、并回复了假的信息。污染不拦截 dns 请求,而是利用规则直接就欺骗 dns 服务器,使其回复错误信息。
错了轻喷。 |
2
fengxing 2017-05-24 03:52:31 +08:00
DNS 劫持是针对 DNS 协议:
一种是通过技术手段直接修改 dns 的解析结果。 另一种是直接把全部的查询结果都劫持到另外的服务器上。 这两种都不经过原本的 dns 服务器直接给你返回错误的 IP。 dns 污染是针对域名的: dns 协议依然会去原本的递归服务器查询,如果是非污染域名,那么正常返回结果。 如果是需要污染的域名,那么墙就会优先返回一个错误的 IP。同时递归服务器依然会返回结果。 因为 dns 协议只会使用最快的那个,这样就算正确的接收到了,但是错误的先到达,导致只能显示错误的结果。 个人理解,有错请各位大佬指出。 |
3
anyclue 2017-05-24 08:24:58 +08:00
DNS 劫持:你去解析一个不存在的域名的时候,DNS 本来应该告诉我们这个域名不存在,但是被劫持后 DNS 就会给我们解析出一个 IP。常见的情况就是电信 114 搜索。解决方法就是换成 Google DNS 就可以了解决了。
DNS 污染:你使用一个不存在的 IP (肯定不是 DNS )作为 DNS 去解析某个域名的时候,理应没有任何返回,但是却能返回一个错误 IP。为了证明是污染不是劫持,你再用这个不存在的 IP 去解析不存在的域名,这个时候你会发现没有任何返回,这就说明这个不存在的域名没有被污染。解决方法就是 DNSCrypt 什么的了。 |
4
yuedingwangji OP @fengxing 有点不太懂,是这样么,dns 劫持相当于,我截获你发往 目的 53 端口的包, 然后直接直接回包, 或者返回一个包给你,告诉你需要去我指定的服务器上去查询结果
dns 污染就是 , 你发包去递归服务器查询, 比如 www.baidu.com,这个时候,我不进行拦截,我直接回包, 告诉你 www.baidu.com 的解析地址? 对么? |