域名解析过程和域名劫持、域名污染 |
域名解析过程 例子:浏览器输入 1.查询本地hosts文件,是否有网址映射ip,如果有,则直接把映射ip返回,否则进入下一步 2.查询本地dns解析缓存,是否有对应的网址映射ip,如有则直接把映射ip返回,否则进入下一步 3.查询Tcp/ip上配置好的本地首选域名服务器,一般是(8.8.8.8或者114.114.114.114,也可能有自己配置的本地域名服务器),查询本地配置区域资源,如能找到对应域名,则返回解析结果给客户机,此解析具有权威性 4.如果要查询的域名,不由本地服务器配置区域解析,但是该服务器缓存了对应了网址映射关系,则返回解析结果,该解析不具有权威性 5.如果本地域名服务器本地区域文件和缓存信息都无法解析,则根据本地域名服务器是否设置了转发器来进行选择。如果未使用转发模式,则本地dns把请求发至13台根dns,根dns服务器收到请求会判断(是谁授权管理,返回一个负责该域名服务器的一个ip,本地dns服务器收到ip信息后,会联系这个域名服务器,这个域名()服务器如果无法解析,会找一个管理下一级dns服务器地址(idcbest.com)的ip给本地dns,然后本地dns连接这个下级服务器,重复上面的动作,直到找到主机,返回其解析结果ip。 6.如果使用的是转发模式,本地dns服务器会把请求转发至上级dns服务器,由上级dns服务器进行解析,如其无法解析,或转至上上级或到根dns,重复上面的动作 7.首选dns失败后,如果有备选dns服务器,则重复3-6的步骤。 客户机跟本地域名之间是递归查询,本地域名跟其他域名服务器之间是迭代查询,最终都是本地域名服务器去连接其他域名服务器。 我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致网民使用正常的上网设置无法通过域名解析出正确的IP地址。常用的手段有:DNS劫持和DNS污染。 什么是DNS劫持 DNS劫持就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。DNS劫持通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现的。 DNS劫持症状:在某些地区的用户在成功连接宽带后,首次打开任何页面都指向ISP提供的电信互联星空、网通黄页广告等内容页面。还有就是曾经出现过用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持。 什么是DNS污染 DNS污染是一种让一般用户由于得到虚假目标主机IP而不能与其通信的方法,是一种DNS缓存投毒攻击(DNS cache poisoning)。其工作方式是:由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,因此DNS的查询非常容易被篡改,通过对UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果。 而DNS污染则是发生在用户请求的第一步上,直接从协议上对用户的DNS请求进行干扰。 DNS污染症状:目前一些被禁止访问的网站很多就是通过DNS污染来实现的,例如YouTube、Facebook等网站。 解决方法 对于DNS劫持,可以采用使用国外免费公用的DNS服务器解决。例如OpenDNS(208.67.222.222)或GoogleDNS(8.8.8.8)。 对于DNS污染,可以说,个人用户很难单单靠设置解决,通常可以使用VPN或者域名远程解析的方法解决,但这大多需要购买付费的VPN或SSH等,也可以通过修改Hosts的方法,手动设置域名正确的IP地址。 DNS劫持与DNS污染的区别总结: DNS劫持就是指用户访问一个被标记的地址时,DNS服务器故意将此地址指向一个错误的IP地址的行为。DNS劫持是劫持了DNS服务器,进而修改其解析结果。范例,网通、电信、铁通的某些用户有时候会发现自己打算访问一个地址,却被转向了各种推送广告等网站,这就是DNS劫持。 DNS污染是国内的某些服务器对DNS查询进行入侵检测,发现与黑名单上匹配的请求,该服务器就伪装成DNS服务器,给查询者返回虚假结果。它利用了UDP协议是无连接不可靠性。 一个是劫持了DNS服务器,一个是伪装成DNS服务器。造成的结果都是返回错误的IP地址。 |