什么是DNS劫持与DNS污染,怎么解决
随着计算机的使用越来越普遍,很多网友对于DNS(Domain Name System 域名系统)并不陌生。
DNS服务可以将用户的域名解析为对应的IP地址,但是在这个过程中由于一些恶意的攻击或者是修改,可能会出现DNS劫持与DNS污染的状况,那么什么是DNS劫持与DNS污染呢?
我们应该采取什么办法来解决呢?请继续往下看吧!
DNS工作原理
当用户需要访问某个网站的时候,通常会输入网站域名或者是点击网站链接。这时,系统会首先查询本地的Hosts文件是否有对应的IP信息,若有的话,则会将其返回给用户,用户通过这个IP访问目标网站;若没有,系统则会用DNS服务器进行查询,DNS的工作原理我们可以简单的用三个步骤来概括:
1、用户需要访问某个网站,向DNS服务器提出域名解析请求。
2、DNS得到请求后解析域名,并将解析的结果返回给用户。
3、用户得到解析后的IP地址,并用它访问目的网站。
什么是DNS劫持
简单的说,DNS劫持是指通过某种手段劫持DNS服务器,并且修改服务器里某个域名对应的IP来达到劫持的目的,这时,用户对目标网站的访问就由原IP转变成为修改后的IP。换句话说,DNS劫持是通过篡改DNS服务器里面的记录来返回给用户一个错误的IP来实现劫持的。曾经出现过用户访问Google域名的时候出现了百度的网站就属于典型的DNS劫持事件。
什么是DNS污染
DNS污染是指通过技术手段让目标用户得到虚假主机IP,从而导致无法与目标网站通信的情况。DNS污染也被称为“DNS缓存投毒攻击”(DNS cache poisoning)和“域名欺骗”。它的主要过程可以用以下的步骤来表示:
1、你的电脑向DNS服务器发送了“域名查询”的请求。
2、DNS服务器查询是否有相应的DNS缓存,若有,则将缓存的结果返回给用户。若没有,则向上一级的域名服务器发出请求查询。
3、上一级的DNS服务器收到请求后开始查询,此时黑客会赶在上一级域名服务器之前,将虚假的主机IP发给DNS服务器,从而导致DNS里面的缓存受到污染。
4、DNS将错误的IP返回给用户,用户使用这个错误的IP访问网站。
解决办法
1、修改Hosts文件,Windows中Hosts文件的优先级高于DNS服务器,当用户访问某个域名时,会先检测Hosts文件里面是否有对应的IP,若没有,再查询DNS服务器。所以,我们可以在Hosts里面添加正确的DNS地址来解决DNS污染和DNS劫持问题,如 “61.135.169.125 www.******.com ”
2、使用安全的DNS服务器,如果发现存在DNS劫持现象,可以通过更换权威的DNS服务器来避免DNS劫持,例如可以更换为第三方的DNS服务Opendns,或者是Google的DNS服务器( Google 提供了两个域名服务器,IP地址 分别是 8.8.8.8 和 8.8.4.4 )。不过使用第三方DNS服务器虽然可以解决DNS劫持问题,但是还是不能解决DNS污染问题。