两张图片告诉你为什么域名会被解析到65.49.2.178

2014年1月21日中国出现重大网络事故,大量域名被解析到一个65.49.2.178 这个IP了。

中国的一家DNS服务商DNSPOD于 2014 年 1 月 21 日 16:18 说:

2014年1月21日下午15:10左右,DNSPod发现国内所有通用顶级域的根出现异常,技术人员已联系相关机构协调处理。目前根已恢复正常,但是后续还会存在以下问题: 根虽已恢复,但还有返回错误IP地址,因为各地有缓存,所以部分地区可能会持续12小时。

正常的域名解析应该是这样的:

域名解析四步:

第一步先是找到最近的根域名,返回 f.root-servers.net. 这样的结果
第二步根域名返回gTLD地址,返回 a.gtld-servers.net. 这样的结果
第三步gTLD返回name server地址和IP,返回 ns1.dreamhost.com. 这样的结果
第四步name server返回域名的真实IP,返回 69.163.141.215 这样的结果

而事故发生时dig +trace 却不是上面四个步骤,如下图

上图来自知乎

上图中gTLD地址和name server地址都没有返回,看上去是通用顶级域的根出现问题了,所用延时极短就直接返回65.49.2.178这个假IP,这张图显示只用了27毫秒。

本来有四步才能得到答案,结果有人插嘴就得到答案了,省掉了两步,这就是DNS劫持造成的。就好比你在广州放只鸽子去北京,本来要路过长沙和郑州,来回要4天,结果鸽子只用了一天就回来了,它没有郑州和北京,只去了长沙。

结论是,机房有设备干扰了DNS查询过程,是一个DNS污染事故,是尝试在机房的GFW审查设备做网络封锁时无意中犯下的过错,可能是封锁IP时操作成封锁所有域名了。

附: 65.49.2.178 这个IP所在的IP段是 Dynamic Internet Technology公司的Anonymous Proxy的IP : http://bgp.he.net/net/65.49.2.0/24#_dns

如果你对任播这种一个IP对应多个服务器的技术细节不会头大,欢迎翻墙去http://www.zhoushuguang.com/2014/01/nslookup.html 查看详细分析。

PS:

国内的科技媒体上说“根服务器只有13台,亚洲唯一的一台在日本”,这样的说法过时了,亚洲有26台根服务器啦,F-Root有14台,I-Root有9台,K-Root有3台 http://www.apnic.net/community/support/root-servers/root-server-ma

全球有386台根服务器,被编号为A到M共13个标号。中国北京有两台编号为F的根服务器镜像,编号为I、J、L的各一,共5台镜像,在香港有A、F、I、J、L五台根服务器镜像,全部借由任播(Anycast)技术,所有编号相同的根服务器都是同一个IP,386台根服务器总共只使用了13个IP. 详情见 http://www.root-servers.org

[原文发表在 http://www.zhoushuguang.com/2014/01/nslookup.html

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2014-01-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Kirito的技术分享

给初中级JAVA准备的面试题

笔者作为一个今年刚毕业的初级JAVA,根据群里水友的讨论,也结合自己刚毕业时的一些面经,加上近期一点点在公司面试别人的经验,总结了如下的常见面试问题,适用于初级...

60680
来自专栏大数据挖掘DT机器学习

如何用R语言从网上读取多样格式数据

第一部分:数据信息 生活中,我们面临着各种各样的数据:比如你的成绩单,比如公司的财务报表,比如朋友圈的一些状态,比如微信里的一段语音……我们生活的大数据时代的一...

40470
来自专栏FreeBuf

XSS挑战第一期Writeup

0×00起因 这期XSS挑战的起因是在阅读“Modern Web Application Firewalls Fingerprinting and By...

273100
来自专栏CDA数据分析师

一个 Pythoner的 Awesome List

? 从大三接触 Python 到现在几乎已经有两年的接触经验了,除去中间有一年左右接私活写写 Android 和 Lamp 之外,有 Python 实际项目开...

31160
来自专栏花叔的专栏

解读10.13发布的小程序新功能

距离上次更新已经有一个月了,小程序终于又更新了,但其实所更新的内容并不太多,这有点违背微信团队的快速迭代的习惯,难道在酝酿更大的迭代吧?嘿嘿~~~ 回归正题,先...

408120
来自专栏数据科学学习手札

(数据科学学习手札33)基于Python的网络数据采集实战(1)

  前面两篇文章我们围绕利用Python进行网络数据采集铺垫了很多内容,但光说不练是不行的,于是乎,本篇就将基于笔者最近的一项数据需求进行一次网络数据采集的实战...

50150
来自专栏Crossin的编程教室

【Python 第2课】print

今天早上醒来,发现咱们的同学人数一夜之间多了50,后来又陆陆续续来了很多,于是我坚持下去的信心又增加了不少。在这里感谢连客官微的宣传,表示今晚将用加班写代码来表...

28970
来自专栏腾讯Bugly的专栏

精神哥讲Crash(二): java.lang.NoSuchMethodError

圣诞节到啦,精神哥披着红大衣,戴上红高帽,想着偷偷爬入各位办公楼的烟囱,给大家的座位上留下一包鸡爪作为圣诞礼物! 奈何精神哥太胖,肚子太大爬不进烟囱了,想着大家...

38150
来自专栏程序员互动联盟

同样的技术,为何别人总是能挖到漏洞 ?

菜鸟和高手的区别,不完全在于你学了多少,更看你能否清晰认知到目前所处阶段,正确迸发出对下一阶段知识的渴望。

13920

Apache Hadoop:通过重构降低技术债务

如果没有将实际行动纳入代码来控制和解决技术债务的话,那么技术债务将一文不值。为了阐述这种能自动修正代码缺陷的能力,而这些缺陷恰恰又是增加这些意外债务的元凶,我们...

12620

扫码关注云+社区

领取腾讯云代金券