什么是DNS的查询模式﹖查询过程是怎样进行的﹖

什么是DNS的查询模式﹖查询过程是怎样进行的﹖,第1张

客户端程序要通过一个主机名称来访问网络中的一台主机时,它首先要得到这个主机名称所对应的IP地址,因为IP数据报中允许放置的是目地主机的IP地址,而不是主机名称。可以从本机的hosts文件中得到主机名称所对应的IP地址,但如果hosts文件不能解析该主机名称时,只能通过向客户机所设定DNS服务器进行查询了。

DNs共有的种查询方法,分别是递归查询和迭代查询。递归查询即由该计算机指定的DNS服务器代表客户端向其他DNs服务器进行查询,以便完全解析该域名,并将结果返回至客户端。选代查询即由该计算指定的DNs服务器向客户端返问一个可以解析该域名的其他DNs服务器地址,客户端再继续向其他DNs服务器进行查询。下面分别对这两种解析方法进行详细介绍。

当局部DNs服务器自己不能回答客户机的DNS查询请求时,那么该DNS服务器就需要向其他DNs服务器进行查询。此时有递归查询和迭代查询两种查询方式。如图1所示的是递归变询方式。由局部DNs服务器自己负责向其他DNs服务器进行查询,一般是先向该域的根域服务器进行查询,再由根域名服务器一级级向下查询。最后,将得到的查询结果返回结局部DNs服务器,再由局部DNs服务器返回给客户端。当局部DNs服务器自己不能回答客户机的DNs查询请求时,也可以通过迭代查询的方式进行域名解析,如图2所示。局部DNs服务器不是自己向其他DNs服务器进行查询,而是把能解析该域名的其他DNs服务器的IP地址返回给客户端DNS程序,客户端DNs程序再继续向这些DNs服务器发出查询请求,直到得到查询结果为止。

想查看HTTP请求和应答报文,可以先了解一下TCP和HTTP协议:HTTP是第七层也就是应用层协议,它是建立在TCP协议之上的,因此,抓包分析的话,HTTP交互都是从TCP三次握手开始的。

以一次简单的HTTP交互为例说明:

客户端-->syn-->服务器    (TCP层交互)

服务器-->syn ack-->客户端    (TCP层交互)

客户端-->ack-->服务器    (TCP层交互)

TCP三次握手建立连接后,

4.  客户端发送GET/POST请求数据    (HTTP层交互)

5.  服务器收到GET/POST请求,回复ack    (TCP层交互)

6.  服务器根据请求回复相应的数据    (HTTP层交互)

7.  客户端收到服务器数据,回复ack    (TCP层交互)

在完成HTTP数据交互后,TCP四次分手断开连接:

8.  客户端-->fin ack-->服务器

9.  服务器-->ack-->客户端

10.  服务器-->fin ack-->客户端

11.  客户端-->ack-->服务器

这样,一次简单的HTTP交互就完成了。如果要查看的话,windows下可用wireshark等抓包工具,linux下用tcpdump就行。wireshark和tcpdump都可以指定网卡和设置相关规则,过滤掉不想关的报文。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/702183.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-04
下一篇2023-08-04

发表评论

登录后才能评论

评论列表(0条)

    保存