dns欺骗的原因 网络菜鸟必看
dns即Domain Name System 的缩写,简单的说DNS是用来解析域名的。有了DNS我们就不用再记住烦人的IP地址,用相对好记的域名就可以对服务器进行访问,即使服务器更换了IP地址,我们依旧可以通过域名访问该服务器,这样能够使我们更方便的访问互联网。dns欺骗就是攻击者冒充域名服务器的一种欺骗行为。有时候我们点进一个网站却发现内容不符合,就是这种情况。那么dns欺骗的原因是什么呢?今天小编专门搜集了相关资料,下面一起来看看吧!
一、什么是dns欺骗
DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。
原理:如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本原理。DNS欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替、招摇撞骗罢了。
在Internet上存在的DNS服务器有绝大多数都是用bind来架设的,使用的bind版本主要为bind 4.9.5+P1以前版本和bind 8.2.2-P5以前版本.这些bind有个共同的特点,就是BIND会缓存(Cache)所有已经查询过的结果,这个问题就引起了下面的几个问题的存在。
二、dns欺骗的主要形式
1、hosts文件篡改
Hosts文件是一个用于存储计算机网络中节点信息的文件,它可以将主机名映射到相应的IP地址,实现DNS的功能,它可以由计算机的用户进行控制。
Hosts文件的存储位置在不同的操作系统中并不相同,甚至不同Windows版本的位置也不大一样:
Windows NT/2000/XP/2003/Vista/win7:默认位置为%SystemRoot%system32driversetc,但也可以改变。
有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,其中有些说不定就是木马或病毒。对于这些网站我们可以利用Hosts把该网站的域名映射到错误的IP或本地计算机的IP,这样就不用访问了。在WINDOWSX系统中,约定127.0.0.1为本地计算机的IP地址, 0.0.0.0是错误的IP地址。
如果,我们在Hosts中,写入以下内容:
127.0.0.1 # 要屏蔽的网站 A
0.0.0.0 # 要屏蔽的网站 B
这样,计算机解析域名 A和 B时,就解析到本机IP或错误的IP,达到了屏蔽网站A 和B的目的。
2、本机DNS劫持
DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址。
相关内容
域名解析的基本原理就是把域名翻译成IP地址,以便计算机能够进一步通信,传递内容和网址等。
由于域名劫持往往只能在特定的被劫持的网络范围内进行,所以在此范围外的域名服务器(DNS)能够返回正常的IP地址,高级用户可以在网络设置把DNS指向这些正常的域名服务器以实现对网址的正常访问。所以域名劫持通常相伴的措施——封锁正常DNS的IP。
如果知道该域名的真实IP地址,则可以直接用此IP代替域名后进行访问。比如访问百度,你可以直接用百度IP(202.108.22.5)访问。
简单的说就是把你要去的地址拦截下来,给你一个错误的地址,或者告诉你你要去的地方去不了,人为的导致你无法到达目的地,一般用于对一些不良网站的封杀或是一些黑客行为。
三、dns欺骗的原因
尽管DNS在互联网中扮演着如此重要的角色,但是在设计DNS协议时,设计者没有考虑到一些安全问题,导致了DNS的安全隐患与缺陷。
DNS欺骗就是利用了DNS协议设计时的一个非常严重的安全缺陷。
首先欺骗者向目标机器发送构造好的ARP应答数据包(关于ARP欺骗请看文章《中间人攻击——ARP欺骗的原理、实战及防御 》),ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得ID和端口号后,向目标发送自己构造好的一个DNS返回包,对方收到DNS应答包后,发现ID和端口号全部正确,即把返回数据包中的域名和对应的IP地址保存进DNS缓存表中,而后来的当真实的DNS应答包返回时则被丢弃。
假设嗅探到目标靶机发出的DNS请求包有以下内容:
伪造的DNS应答包如下:
目标靶机收到应答包后把域名以及对应IP保存在了DNS缓存表中,这样www.baidu.com的地址就被指向到了192.168.1.59上。
四、dns欺骗的防范
DNS欺骗是很难进行有效防御的,因为大多情况下都是被攻击之后才会发现,对于避免DNS欺骗所造成危害,本菜鸟提出以下建议
1.因为DNS欺骗前提也需要ARP欺骗成功。所以首先做好对ARP欺骗攻击的防范。
2.不要依赖于DNS,尽管这样会很不方便,可以使用hosts文件来实现相同的功能,Hosts文件位置:
windows xp/2003/vista/2008/7 系统的HOSTS文件位置 c:windowssystem32driversetc 用记事本打开即可进行修改。
3.使用安全检测软件定期检查系统是否遭受攻击
4.使用DNSSEC。
前面介绍了dns欺骗的原因,dns欺骗的主要形式,以及如何防范dns欺骗,虽然给出了防范的方法,但小编在这里说一声,因为dns欺骗其实是很难防范的,所以小编只能给一些简单的方法,这个问题是很值得去研究的学问,属于计算机专业领域了,有兴趣的大神可以下去研究一下。