欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

DNS协议欺骗攻击技术的攻防知识

程序员文章站 2022-03-29 16:04:52
你是否遭遇过这样的情况?当你在浏览器中输入正确的URL地址,但是打开的并不是你想要去的网站。它可能是114的查询页面,可能是一个广告页面,更可能是一个刷流量的页面,甚至是一个挂... 08-10-08...
你是否遭遇过这样的情况?当你在浏览器中输入正确的url地址,但是打开的并不是你想要去的网站。它可能是114的查询页面,可能是一个广告页面,更可能是一个刷流量的页面,甚至是一个挂马的网站。如果你遇到了上述情况话,那么极有可能你遭遇了dns欺骗,那么什么是dns欺骗呢?下文将给你带来dns欺骗的原理和防范方法。   一 什么是dns:   dns 是域名系统 (domain name system) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。在internet上域名与ip地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,dns就是进行域名解析的服务器。   二 dns的工作原理:   dns 命名用于 internet 等 tcp/ip 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 dns 名称时,dns 服务可以将此名称解析为与之相关的其他信息,如 ip 地址。因为,你在上网时输入的网址,是通过域名解析系解析找到相对应的ip地址,这样才能上网。其实,域名的最终指向是ip。   在ipv4中ip是由32位二进制数组成的,将这32位二进制数分成4组每组8个二进制数,将这8个二进制数转化成十进制数,就是我们看到的ip地址,其范围是在0~255之间。因为,8个二进制数转化为十进制数的最大范围就是0~255。现在已开始试运行、将来必将代替ipv6中,将以128位二进制数表示一个ip地址。   大家都知道,当我们在上网的时候,通常输入的是如:www.sina.com.cn 这样子的网址,其实这就是一个域名,而我们计算机网络上的计算机彼此之间只能用ip地址才能相互识别。再如,我们去一web服务器中请求一web页面,我们可以在浏览器中输入网址或者是相应的ip地址,例如我们要上新浪网,我们可以在ie的地址栏中输入:www.sina.com.cn 也可输入这样子 218.30.66.101 的ip地址,但是这样子的ip地址我们记不住或说是很难记住,所以有了域名的说法,这样的域名会让我们容易的记住。   dns:domain name system 域名管理系统 域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的ip地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。   dns:domain name server 域名服务器 域名虽然便于人们记忆,但网络中的计算机之间只能互相认识ip地址,它们之间的转换工作称为域名解析(如上面的www.sina.com.cn 与 218.30.66.101 之间的转换),域名解析需要由专门的域名解析服务器来完成,dns就是进行域名解析的服务器。   三 dns欺骗攻击:   dns欺骗即域名信息欺骗是最常见的dns安全问题。当一个dns服务器掉入陷阱,使用了来自一个恶意dns服务器的错误信息,那么该dns服务器就被欺骗了。dns欺骗会使那些易受攻击的dns服务器产生许多安全问题,例如:将用户引导到错误的互联网站点,或者发送一个电子邮件到一个未经授权的邮件服务器。网络攻击者通常通过以下几种方法进行dns欺骗。   1、缓存感染:   黑客会熟练的使用dns请求,将数据放入一个没有设防的dns服务器的缓存当中。这些缓存信息会在客户进行dns访问时返回给客户,从而将客户引导到入侵者所设置的运行木马的web服务器或邮件服务器上,然后黑客从这些服务器上获取用户信息。   2、dns信息劫持:   入侵者通过监听客户端和dns服务器的对话,通过猜测服务器响应给客户端的dns查询id。每个dns报文包括一个相关联的16位id号,dns服务器根据这个id号获取请求源位置。黑客在dns服务器之前将虚假的响应交给用户,从而欺骗客户端去访问恶意的网站。   3、dns重定向   攻击者能够将dns名称查询重定向到恶意dns服务器。这样攻击者可以获得dns服务器的写权限。   四 dns的防范方法:   防范方法其实很简单,总结来说就只有两条。(1) 直接用ip访问重要的服务,这样至少可以避开dns欺骗攻击。但这需要你记住要访问的ip地址。(2) 加密所有对外的数据流,对服务器来说就是尽量使用ssh之类的有加密支持的协议,对一般用户应该用pgp之类的软件加密所有发到网络上的数据。只要能做到这些,基本上就可以避免dns欺骗攻击了。