信息收集-DNS

首先更正一个小白很普遍的错误观点,www.baidu.com(严格上是www.baidu.com. 这个点是根的意思,所有的记录从这里开始)并不是一个真正意义上的域名,而是百度服务器的A记录,baidu.com才是百度服务器的域名。

DNS解析流程

1:自己的电脑的网络配置中会指定一个本地DNS服务器,当发起网络请求时,主机先问问本地DNS服务器,DNS服务器返回对应域名的的ip地址。

2:当然这个本地的DNS服务器一开始是不知道的,它会去问根域服务器(即.域)。

3:根域服务器也不知道,但是会返回.com域的域名服务器的地址,让本地服务器问问.com服务器。

4:这时本地DNS服务器就会去问.com服务器。当然了,.com服务器也不可能知道,它会返回一个存储了baidu.com这个域名的服务器的地址,让本地服务器问问baidu.com域名服务器服务器。PS:这里就比较接地气了,有过建站经历的小伙伴都知道,这个存储了biadu.com域名的服务器就是就是我们域名解析时所用的服务器。

5:这时本地服务器就回去问记录了baidu.com这个域名的服务器,问问它知不知道www.baidu.com对应的ip地址是多少。这个服务器一查,确实有一个域名是baidu.com的主机进行了A记录解析(即www.baidu.com),对应着一个ip地址,它会将ip地址返回给本地DNS服务器。

6:本地服务器拿到这个ip,二话不说现在本地缓存一份,然后再把www.baidu.com对应的ip地址返回给自己的电脑。

7:当有其他电脑问本地DNS服务器www.baidu.com对应的ip是多少时,本地DNS服务器发现自己的缓存中有这条记录(即步骤6),就会直接返回www.baidu.com的ip。

主机和本地服务器之间的查询称为递归查询,而本地服务器与各种域名服务器之间的查询称为迭代查询。

当然了,对于百度这种访问量特别大的网站,我们访问百度通常都是从步骤7开始的,然后就直接结束了。大概只有在本地服务器清除缓存的一瞬间才能有1-7的完整步骤吧。

除了A记录还有C name、NS、MX、ptr记录。

C name:别名记录,将一个域名解析成另一个域名;

NS:域名服务器的地址记录;

MX:邮件交换记录;

ptr:反向记录,将ip解析成域名。

有兴趣的同学可以安装思科的网络模拟器Cisco Packet Tracer感受一下完整的解析流程。

猜你喜欢

转载自www.cnblogs.com/angiebare/p/9351008.html