1. DNS解析过程
1). 在浏览器中输入一个域名,操作系统会先检查自己本地的host文件里是否有对应的域名映射关系,有的话调用完成域名解析。
2). 如果host中没有,就需要查找本地DNS解析缓存,如果有直接返回完成域名解析。
3). 前面两者都没有,那么就需要向本地DNS服务器进行查询,如果有返回完成域名解析。
4). 本地DNS服务器文件和缓存都没有找到,那么就有两种查询方式
迭代查询:本地DNS把请求发送至根域名服务器,根域名服务器找到谁来管理这个域名,然后将应查询的顶级域名服务器IP返回给本地DNS,本地DNS收到后向这个顶级域名服务器查询,顶级域名服务器如果自己无法解析就找到下一级权限域名服务器,重复上述操作进行查询直到找到这个域名对应的IP地址映射。
递归查询:在递归查询中顶级域名服务器受到请求后并不是将查询结果返回给本地DNS而是直接向下一级顶级域名服务器进行查询,顶级域名服务器接着向下一级权限域名服务器查询直接找到结果并将结果逐级返回。
2. DNS劫持
DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址。举一个简单的例子,比如你输入的域名地址是www.google.cn然后弹出来百度的页面,很明显发生了DNS域名劫持。
应对DNS劫持的方法
1)、我们都知道,访问一个网站用域名而不用ip地址的原因就是逻辑地址不好记,但是如果你知道这个网页的ip地址的话,你可以直接输入ip地址来访问从而绕开DNS解析。
2)、将自己的电脑DNS解析地址手动设置为国内比较权威又稳定的服务器地址,例如114.114.114.114、8.8.8.8。
3)、修改你的路由器密码,登录路由器192.168.1.1,更改你的用户密码,然后最好重新启动路由器。