看下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 结尾的网站没有受到影响?

我们先来看正常的域名解析过程:

  1. 第一步,DNS会返回“根域名服务器”地址和IP, 上图中是root-servers.net结尾的地址;
  2. 第二步,根域名服务器192.33.4.12返回通用顶级域名(gTLD)的服务器地址和IP;
  3. 第三步,gTLD服务器返回NS(name server)地址和IP,上图中是ns1.dreamhost.com;
  4. 第四步,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的更多相关文章

  1. 【转】DNS劫持和DNS污染的区别

    什么是DNS服务器? 简单来说,DNS服务器就是域名管理系统. DNS(Domain Name System)是域名解析服务器的意思. DNS服务器是干什么的? DNS服务器在互联网的作用是:把域名转 ...

  2. DNS劫持和DNS污染的区别

    我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染. 什么是DNS劫持 DNS劫持就是通过劫 ...

  3. 什么是DNS劫持和DNS污染?

    什么是DNS劫持和DNS污染? http://blogread.cn/it/article/7758?f=weekly 说明 我们知道,某些网络运营商为了某些目的,对 DNS 进行了某些操作,导致使用 ...

  4. DNS 劫持 和 DNS 污染

    1,用户需要访问www.liusuping.com这个网站,向DNS服务器提出解析请求. 2,DNS服务器通过检查发现www.liusuping.com域名的IP地址是127.0.0.1,将结果返回给 ...

  5. DNS 劫持、HTTP 劫持与 DNS 污染

    本文为本人的学习笔记,不保证正确. DNS 劫持 指DNS服务器被控制,查询DNS时,服务器直接返回给你它想让你看的信息.这种问题常为 ISP 所为. 由于一般的的电脑的 DNS 服务器 的配置都为自 ...

  6. DNS 工作原理是什么,域名劫持、域名欺骗、域名污染又是什么

    DNS 工作原理是什么,域名劫持.域名欺骗.域名污染又是什么 2014年11月27日 10:05:40 阅读数:6726 标签: dns网络互联网顶级域名递归 更多 个人分类: 网络学习   一.DN ...

  7. 通过开源程序同时解决DNS劫持和DNS污染的问题

    我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染.关于DNS劫持和DNS污染的区别,请查找 ...

  8. DNS劫持和DNS污染

    DNS劫持和DNS污染1.DNS劫持通过劫持DNS服务器,修改解析记录,导致对域名的访问转入虚假IP,结果是网站访问失败,窃取资料. 2.DNS污染使用虚假的DNS服务器,伪装成目标域名的解析服务器, ...

  9. DNS劫持 DNS污染

    编号:1021时间:2016年6月24日17:23:50功能:DNS劫持 DNS污染URL:http://www.itechzero.com/dns-hijacking-dns-pollution-i ...

随机推荐

  1. vue 项目中assets文件夹与static文件夹引用的区别

    首先,assets文件夹和static文件夹在vue-cli生成的项目中,都是用来存放静态资源的. 1.assets目录中的文件会被webpack处理解析为模块依赖,只支持相对路径形式.build的时 ...

  2. Django:学习笔记(8)——视图

    Django:学习笔记(8)——视图

  3. 2016-2017 National Taiwan University World Final Team Selection Contest C - Crazy Dreamoon

    题目:Statements Dreamoon likes algorithm competitions very much. But when he feels crazy because he ca ...

  4. springmvc获取bean

    1.普通注解方式获取 2.springcontextholder获取 ChatHistoryService chatHistoryService = SpringContextHolder.getBe ...

  5. Python面试题之解读Socketserver & Tcpserver

    在解析socketserver是如工作之前,我们先看看socektserver类的继承关系图: 请求类继承关系: server类继承关系: 有了上面的继承关系图后,我们解析socketserver就轻 ...

  6. Centos下Nginx配置WEB访问日志并结合shell脚本定时切割

    在一个成熟的WEB系统里,没有日志管理是不可以的,有了日志,可以帮助你得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某个服务或server的性能瓶颈等. ...

  7. 求生之路 Hammer World Editor打开后闪退解决办法

    试过WinXp.Win7.Win10 都无法正常启动Hammer,搜索N多资料后发现如图修改 控制面板 -> 区域 -> 格式 -> 英语[美国] 即可正常启动了!!!

  8. [CF730J]Bottles

    题目大意:每个瓶子有一定的容积,以及一定的水量,问最少几个瓶子装满所有水,在此基础上还要最小化移动水的体积 第一问用贪心直接求第二问转化成背包问题设dp[i][j]表示前i桶水总容积为j的最多水量,这 ...

  9. CommonLang3 --StringUtils使用指南

    转载自(http://blog.csdn.net/xuxiaoxie/article/details/52095930)public static boolean isEmpty(CharSequen ...

  10. java中把指数形式的数字转为正常形式显示

    /** * 当浮点型数据位数超过10位之后,数据变成科学计数法显示.用此方法可以使其正常显示. * @param value * @return Sting */ public static Stri ...