源自:华为企业互动社区 https://forum.huawei.com/enterprise/zh/thread-534583.html
| 什么是DNS
DNS(Domain Name System),即域名系统,它是一个域名和IP地址相互映射的分布式数据库,能够使人更方便的访问互联网。如果我们想访问华为的官网,本来需要输入网站主机的IP地址,但是IP地址复杂难记,而DNS服务器可以将www.huawei.com解析成对应的IP地址,我们就不需要记住复杂的IP地址,只需要记住www.huawei.com这个域名就可以了。
| DNS的工作过程
接下来我们来看一下DNS工作过程。
1. 当我们搜索www.huawei.com时,会先查看本地浏览器缓存和操作系统hosts文件中有没有域名与IP地址的对应关系,有的话返回结果,没有则进入下一步。
2. 向本地缓存DNS查询,如果在家用路由器上选择了“自动获取DNS服务器地址”,那么本地缓存DNS就是ISP网络服务提供商默认的DNS服务器,本地缓存DNS会查询缓存池中有没有域名与IP地址的对应关系,有的话返回结果(大约90%的域名解析都到这里就已经完成了,所以本地缓存DNS承担了大部分域名的解析工作),没有则进入下一步。
3. 本地缓存DNS向根DNS发起查询请求。根DNS返回com域的权威名字服务器(顶级域DNS)的NS记录和对应IP地址。
注:NS(Name Server)是域名服务器,用来指定该域名由哪个DNS服务器来进行解析。
4. 本地缓存DNS向顶级域DNS发起www.huawei.com查询请求。
5. 顶级域DNS返回huawei.com域的权威DNS的NS记录和IP地址。
6. 本地缓存DNS继续向huawei.com的权威DNS发起www.huawei.com查询请求。
7. huawei.com的权威DNS应答www.huawei.com查询请求。
8. 本地缓存DNS将应答结果保存在本地缓存,并将结果应答给客户端。
| DNS欺骗
由于整个域名解析请求的过程中DNS没有提供认证机制,查询者在收到应答时无法确认应答信息的真假,每一台DNS服务器也无法知道请求域名服务的主机或者其他的DNS服务器是否合法,所以这个过程就很容易被黑客利用,进行DNS欺骗,达到用户不能访问特定的网站或者访问的是假网站的目的。
接下来两期,让我们一起探讨DNS的两种骗术:DNS缓存投毒和DNS劫持,看看如何能防骗。