DNS污染——domain name的解析被劫持了返回无效的ip
看下dns污染:
bash-3.2$ dig twitter.com +trace ; <<>> DiG 9.10.6 <<>> twitter.com +trace
;; global options: +cmd
. 484068 IN NS d.root-servers.net.
. 484068 IN NS j.root-servers.net.
. 484068 IN NS l.root-servers.net.
. 484068 IN NS g.root-servers.net.
. 484068 IN NS h.root-servers.net.
. 484068 IN NS b.root-servers.net.
. 484068 IN NS m.root-servers.net.
. 484068 IN NS e.root-servers.net.
. 484068 IN NS a.root-servers.net.
. 484068 IN NS f.root-servers.net.
. 484068 IN NS c.root-servers.net.
. 484068 IN NS i.root-servers.net.
. 484068 IN NS k.root-servers.net.
. 484069 IN RRSIG NS 8 0 518400 20180805170000 20180723160000 41656 . yl9YhwsdxJhUHr7/8S6Mv0mu4LqVFiN/aR+3zp7KIfyAthz21d2qUtdC hqOK16OhSAItXf3uZ5ent5NtswMSAvyxcS46/tMQm3kEsuoRiDNrbMAK k8XKcZC2HQ7tNPoPuUbjGrKeMuxqvDUecJ4/j0x30SRF9M9+1cL9BADb X22m65beu/bwfZuR70wsOyW56mIE/QVb6Q1X7nr3fwkl9MPD9p1wz6y5 HBcND8XhKepMY0v5hfV7CEmbM4b67p0U1+fGWybkDqudi2D9qLXW8SYT W+Wr3Df8pl/uriYpFCpd49ryVzEfdqte8IdyyNxQezgIX4ys8PvfKIWs xTcCsQ==
;; Received 1097 bytes from 2408:84e1:a0:5ce1::c9#53(2408:84e1:a0:5ce1::c9) in 613 ms twitter.com. 234 IN A 66.220.149.32
;; Received 56 bytes from 2001:500:2::c#53(c.root-servers.net) in 805 ms bash-3.2$ dig twitter.com +trace ; <<>> DiG 9.10.6 <<>> twitter.com +trace
;; global options: +cmd
. 484066 IN NS j.root-servers.net.
. 484066 IN NS i.root-servers.net.
. 484066 IN NS g.root-servers.net.
. 484066 IN NS e.root-servers.net.
. 484066 IN NS f.root-servers.net.
. 484066 IN NS h.root-servers.net.
. 484066 IN NS c.root-servers.net.
. 484066 IN NS a.root-servers.net.
. 484066 IN NS m.root-servers.net.
. 484066 IN NS d.root-servers.net.
. 484066 IN NS l.root-servers.net.
. 484066 IN NS k.root-servers.net.
. 484066 IN NS b.root-servers.net.
. 484067 IN RRSIG NS 8 0 518400 20180805170000 20180723160000 41656 . yl9YhwsdxJhUHr7/8S6Mv0mu4LqVFiN/aR+3zp7KIfyAthz21d2qUtdC hqOK16OhSAItXf3uZ5ent5NtswMSAvyxcS46/tMQm3kEsuoRiDNrbMAK k8XKcZC2HQ7tNPoPuUbjGrKeMuxqvDUecJ4/j0x30SRF9M9+1cL9BADb X22m65beu/bwfZuR70wsOyW56mIE/QVb6Q1X7nr3fwkl9MPD9p1wz6y5 HBcND8XhKepMY0v5hfV7CEmbM4b67p0U1+fGWybkDqudi2D9qLXW8SYT W+Wr3Df8pl/uriYpFCpd49ryVzEfdqte8IdyyNxQezgIX4ys8PvfKIWs xTcCsQ==
;; Received 1097 bytes from 2408:84e1:a0:5ce1::c9#53(2408:84e1:a0:5ce1::c9) in 54 ms twitter.com. 181 IN A 69.171.235.16
;; Received 56 bytes from 192.36.148.17#53(i.root-servers.net) in 51 ms
有没有发现每次返回的ip都是比较随机的。就算你指定dns服务器也会出现这个问题:
bash-3.2$ dig twitter.com +trace @8.8.8.8 ; <<>> DiG 9.10.6 <<>> twitter.com +trace @8.8.8.8
;; global options: +cmd
. 52616 IN NS k.root-servers.net.
. 52616 IN NS m.root-servers.net.
. 52616 IN NS c.root-servers.net.
. 52616 IN NS l.root-servers.net.
. 52616 IN NS e.root-servers.net.
. 52616 IN NS b.root-servers.net.
. 52616 IN NS j.root-servers.net.
. 52616 IN NS f.root-servers.net.
. 52616 IN NS i.root-servers.net.
. 52616 IN NS g.root-servers.net.
. 52616 IN NS d.root-servers.net.
. 52616 IN NS a.root-servers.net.
. 52616 IN NS h.root-servers.net.
. 52616 IN RRSIG NS 8 0 518400 20180803050000 20180721040000 41656 . cwJz/99k74CqzPMcyjdYkufFaulgc6jXObkNsE1xBM1O+TcAYXnMw8e5 qr5GR5WrFdzd845+n8rP6LhuidOwvrooKbZn6R39ig+VXEZJa/UsMnIY OkTVoXXQZKXyQRjxJMbvNm01H0F6z6mOFnwcv1DjFWOjIG+/IYNvPu+o giA/B5hS2h3AaRvsBm4PdroHmG7dbgNfWq4Blh9WeonpVGL+j83mwerc Lz8O8j8oZQf8fWQuXr3JArW12likpx0Wf43cbWq+7E6boJ8+UA7lvpJv 2aPR/hi5+XPUppknRXPKGD6sn6eR1HuCDXQptWS2QnqcepwtNYraJZHs DWqztA==
;; Received 525 bytes from 8.8.8.8#53(8.8.8.8) in 79 ms twitter.com. 98 IN A 75.126.135.131
;; Received 56 bytes from 192.36.148.17#53(i.root-servers.net) in 44 ms bash-3.2$ dig twitter.com +trace @8.8.8.8 ; <<>> DiG 9.10.6 <<>> twitter.com +trace @8.8.8.8
;; global options: +cmd
. 193723 IN NS a.root-servers.net.
. 193723 IN NS b.root-servers.net.
. 193723 IN NS c.root-servers.net.
. 193723 IN NS d.root-servers.net.
. 193723 IN NS e.root-servers.net.
. 193723 IN NS f.root-servers.net.
. 193723 IN NS g.root-servers.net.
. 193723 IN NS h.root-servers.net.
. 193723 IN NS i.root-servers.net.
. 193723 IN NS j.root-servers.net.
. 193723 IN NS k.root-servers.net.
. 193723 IN NS l.root-servers.net.
. 193723 IN NS m.root-servers.net.
. 193723 IN RRSIG NS 8 0 518400 20180803170000 20180721160000 41656 . BBPz7lF9LPdrl3G0HZbOlt6SVIns4c2jfzqM9lFCdr++4DztnNWN+vpk hkCgTsZWnO3ZNRTww4ItXNEfAcID8BIKGVTQr1U57PNqfeY4PLGJWfGT XTtkq3BK2NMzekqYIfKMhIyyoHry+qSpfKiCQxPWevXw9D+lA1n8otRl WsN9yTH9jHzyOippGplZNMAPZ2qxDP2CvXuDaH665hybELwLbcpbCCTn drOu7vXBBRx0r2xXDFv90079+4WdgEMQFTqiAc9JQhBODydH4NAW4Re+ swSbUhmdQ0oO+ocSEIK+fWxipnzzE11KWeeuZOkUy5V0iHR8JwPcWYmy t1SLTg==
;; Received 525 bytes from 8.8.8.8#53(8.8.8.8) in 96 ms twitter.com. 149 IN A 8.7.198.45
;; Received 56 bytes from 2001:500:2::c#53(c.root-servers.net) in 38 ms
DNS污染事件跟踪:为什么.cn和.org域名逃过一劫
2014年
关于中国境内用户访问.com 和.net 域名被解析到65.49.2.178 一事我又有新发现,我发现了为什么.cn 和.org 的域名没有受到影响指向65.49.2.178的原因,证明此事事故与根域名服务器无关。
在上一篇文章中,我查到了65.49.2.178这个IP的背景,验证了根域名服务器在中国有镜像,驳斥了各大媒体和维基百科上说“根域名服务器只有13台,亚洲唯一的一台在日本”的说法,猜测这事件是一次来自国内机房的DNS污染事故。
我注意到 国家互联网应急中心的通告提到仅有“.com”、“.net”等结尾的网站受到影响,而.cn结尾的网站没有受到影响,.org 结尾的网站没有被提到,也应该是没有受到影响:
关于1月21日我国境内互联网访问异常情况的通报 来源:CNCERT 时间:2014-01-22 2014年1月21日15:20,中国境内大量互联网用户无法正常访问域名以“.com”、“.net”等结尾的网站。事件发生后,国家互联网应急中心第一时间启动应急响应机制,协调组织部分技术支撑单位进行调查和应急处置,16:50左右,用户访问基本恢复正常。 经对已掌握的数据进行分析,初步判断此次事件是由于网络攻击导致我国境内互联网用户通过国际顶级域名服务解析时出现异常,攻击来源正在进一步调查中。
为什么.cn 和 .org 结尾的网站没有受到影响?
我们先来看正常的域名解析过程:

- 第一步,DNS会返回“根域名服务器”地址和IP, 上图中是root-servers.net结尾的地址;
- 第二步,根域名服务器192.33.4.12返回通用顶级域名(gTLD)的服务器地址和IP;
- 第三步,gTLD服务器返回NS(name server)地址和IP,上图中是ns1.dreamhost.com;
- 第四步,NS返回域名对应的真正的IP地址, 上图中是69.163.141.215。
下面是dig +trace zuola.com 和 dig +trace dbanotes.net 的结果,显示以“.com”、“.net”等结尾的域名在第二步返回的都是 gtld-server.net结尾的服务器地址; 而以“.org”的域名用的是另一种域名的服务器。


下面是dig +trace 1kg.org 这个域名的结果,同样需要向DNS发起第一步查询,返回的结果是相同的根域名服务器地址,第二步返回的却不是以 gtld-server.net结尾的服务器地址,是org.afilias-nst.org 和 org.afilias-nst.info 结尾的地址

下面是dig +trace hightechlowlife.cn 这个域名的结果,.cn 和 .org 的域名同样需要向DNS发起第一步查询,得到了正确的根域名服务器地址; 第二步返回的却不是 以gtld-server.net结尾的服务器地址,也不是以org.afilias-nst.org 和 org.afilias-nst.info 结尾的地址,是以dns.cn结尾的地址:

好了,.cn 和 .org 的域名同样需要向DNS发起第一步查询,也都得到与.com 跟.net 域名相同的“根域名服务器”查询结果了,仅有第二步返回的结果不同。这证明此次事件与“根域名服务器”完全没有关系。这样一区分,也许能解释为什么.cn 和.org 的域名没有受到影响了。
下图来自DNSPod的BLOG,证实2014年1月21日访问.com 域名会得到65.49.2.178这个IP:

没有返回返回通用顶级域名(gTLD)的服务器地址和IP,也没有返回name server 地址。

没有返回返回通用顶级域名(gTLD)的服务器地址和IP,也没有返回name server 地址。
我再贴一张2014年1月22日在中国境内用dig追踪twitter.com 域名解析过程的图片:

图片由陈少举提供
Twitter.com的域名被劫持到203.98.7.65这个IP了,从 http://whois.webhosting.info/203.98.7.65 来看,这个IP不是twitter的IP,表现和2014年1月21日的劫持域名到65.49.2.178完全一样:没有返回返回通用顶级域名(gTLD)的服务器地址和IP,也没有返回name server 地址。
完整无误的解析应该是如下图一样分四次返回数据:

图片由陈少举提供
结论:
我国境内互联网用户通过国际顶级域名服务解析时出现异常,“.com”、“.net”域名被解析到 65.49.2.178是一次DNS污染行为,和GFW污染Twitter.com 、Facebook.com Youtube.com 、 Zuola.com 等域名的表现是一致的,与根域名服务器完全无关。.cn 和 .org 结尾的网站没有受到影响则证明,可能是此次GFW不小心把gtld-servers.net 加入污染域名的列表了,下次遇到同样的部分域名受影响的话用用dig +trace gtld-servers.net来排查吧。
DNS污染——domain name的解析被劫持了返回无效的ip的更多相关文章
- 【转】DNS劫持和DNS污染的区别
什么是DNS服务器? 简单来说,DNS服务器就是域名管理系统. DNS(Domain Name System)是域名解析服务器的意思. DNS服务器是干什么的? DNS服务器在互联网的作用是:把域名转 ...
- DNS劫持和DNS污染的区别
我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染. 什么是DNS劫持 DNS劫持就是通过劫 ...
- 什么是DNS劫持和DNS污染?
什么是DNS劫持和DNS污染? http://blogread.cn/it/article/7758?f=weekly 说明 我们知道,某些网络运营商为了某些目的,对 DNS 进行了某些操作,导致使用 ...
- DNS 劫持 和 DNS 污染
1,用户需要访问www.liusuping.com这个网站,向DNS服务器提出解析请求. 2,DNS服务器通过检查发现www.liusuping.com域名的IP地址是127.0.0.1,将结果返回给 ...
- DNS 劫持、HTTP 劫持与 DNS 污染
本文为本人的学习笔记,不保证正确. DNS 劫持 指DNS服务器被控制,查询DNS时,服务器直接返回给你它想让你看的信息.这种问题常为 ISP 所为. 由于一般的的电脑的 DNS 服务器 的配置都为自 ...
- DNS 工作原理是什么,域名劫持、域名欺骗、域名污染又是什么
DNS 工作原理是什么,域名劫持.域名欺骗.域名污染又是什么 2014年11月27日 10:05:40 阅读数:6726 标签: dns网络互联网顶级域名递归 更多 个人分类: 网络学习 一.DN ...
- 通过开源程序同时解决DNS劫持和DNS污染的问题
我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染.关于DNS劫持和DNS污染的区别,请查找 ...
- DNS劫持和DNS污染
DNS劫持和DNS污染1.DNS劫持通过劫持DNS服务器,修改解析记录,导致对域名的访问转入虚假IP,结果是网站访问失败,窃取资料. 2.DNS污染使用虚假的DNS服务器,伪装成目标域名的解析服务器, ...
- DNS劫持 DNS污染
编号:1021时间:2016年6月24日17:23:50功能:DNS劫持 DNS污染URL:http://www.itechzero.com/dns-hijacking-dns-pollution-i ...
随机推荐
- Linux系统——进程和计划任务管理
进程和计划任务管理 一.进程和程序的关系 进程:在CPU及内存中运行的程序代码:动态执行的代码:每个进程可以创建一个或多个进程 程序:保存在硬盘.光盘等介质中的可执行代码和数据:静态保存的代码 二.基 ...
- hibernate的事务和spring事务的区别 (转)
spring事务: 对于传统的基于特定事务资源的事务处理而言(如基于JDBC的数据库访问),Spring并不会对其产生什么影响,我们照样可以成功编写并运行这样的代码.同时,Spring还提供了一些辅助 ...
- ACM对拍程序
1.把所需对拍的代码的可执行文件a.exe b.exe放在同一目录下 2.把rand数据的代码的可执行文件c.exe放在该目录下 3.新建一个txt文件,里面添加代码,后把格式改成bat @echo ...
- QML Image Element
QML Image Element The Image element displays an image in a declarative user interface More... Image元 ...
- 【分库分表】sharding-jdbc—解决的问题
一.遇到的问题 随着互联网技术和业务规模的发展,单个db的表里数据越来越多,sql的优化已经作用不明显或解决不了问题了,这时系统的瓶颈就是单个db了(或单table数据太大).这时候就涉及到分库分表的 ...
- 前端学习之JavaScript中的 NaN 与 isNaN
NaN NaN 即 Not a Number ,不是一个数字. 在 JavaScript 中,整数和浮点数都统称为 Number 类型 .除此之外,Number 类型还有一个很特殊的值,即 NaN . ...
- igraph Tutorial
igraph Tutorial¶ 参考http://www.cs.rhul.ac.uk/home/tamas/development/igraph/tutorial/tutorial.html ...
- CSS Pseudo-classes(伪类)
CSS Pseudo-classes(伪类) CSS伪类是用来添加一些选择器的特殊效果. 一.语法 伪类的语法: selector:pseudo-class {property:value;} CSS ...
- xshell ssh 上传文件
一.通过xshell ssh 上传文件 [lxk@localhost ~]$ yum install lrzsz 安装 [lxk@localhost ~]$ rz 上传文件
- presto + slider 提交计算至yarn
10.112.28.240 prestocli 10.183.225.158 perstoser hive-site.xml useUnicode=true&characterEncoding ...