1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > DNS迭代查询 递归查询

DNS迭代查询 递归查询

时间:2019-07-16 19:13:07

相关推荐

DNS迭代查询 递归查询

相信很多人都对DNS协议有所了解,你肯定会说,不就是根据域名转换成IP地址再访问吗.那你知道它是如何查询的吗?

第一,主机向本地域名服务器的查询一般为递归查询,所谓递归查询就是如果本地域名服务器不知道被查询域名的IP地址,就会以DNS客户的身份向其他根域名服务器查询(即代替主机进行查询).

第二,本地域名服务器向根域名服务器的查询一般为迭代查询,当根域名服务器接收到本地域名服务器的查询请求时,会告诉本地域名服务器下一步应该去请求哪一个域名服务器.然后本地域名服务器再进行后续查询.

证明主机向本地域名服务器的查询为递归查询:

1)查找本地域名服务器:

如果是windows环境,win+r打开cmd,输入命令ipconfig /all查看本地域名服务器ip

wireshark抓包内容

通过分析抓包内容可以看出, 主机向本地域名服务器的查询为递归查询

查询信息:

应答消息:

图中圈出的部分为DSN flag的信息,共2个字节,18比特.

DNS报文格式:

第二行为flags信息,其中RD为期望递归设置,如果为0表示希望域名服务器进行迭代查询,为1则表示进行递归查询.

查询报文中flags的16进制为0100,转换成二进制为0000000100000000,而RD标志位为第八个比特,即1(即主机向本地域名服务器执行递归查询)

响应报文中的flags的16进制为8180,二进制为1000000110000000,RA标志位为域名服务器是否支持递归查询,1代表可用,0代表不可用.(本地域名服务器回应主机)

由此可以证明主机到本地域名服务器的查询确实为递归查询,执行递归查询还是迭代查询取决于DNS报文flags中的RD字段.

由于我没有搭建DNS服务器,无法直接截获本地DNS服务器与根服务器之间的报文,感兴趣的朋友可以自己搭建一台本地DNS服务器,看看本地DNS服务器与根域名服务器通信使用的是递归查询还是迭代查询.

欢迎大家关注我的微信个人公众号WCTW,不定期分享各种计算机知识干货.进群交流技术,唠家常.(_)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。