DNS域名解析协议 |
您所在的位置:网站首页 › dns区域传送ixfr › DNS域名解析协议 |
实验目标:
** 1、 了解DNS的基本概念与工作流程 2、 理解并学会分辨递归与迭代查询 3、 利用wireshark分析DNS查询与响应的数据包 4、 掌握DNS区域传送的概念,并利用wireshark分析 ** DNS的解析过程DNS采用 C/S的工作方式。当client想要通过主机名访问网络中的一台主机时: ####(1)得到这台主机名称所对应的IP地址。 因为IP数据包中允许放置的是目标主机的IP地址,而不是主机的名称。 ####(2)从本机的hosts文件中得到主机所对应的IP地址。 但如果hosts文件不能够解析该主机的名称,则只能通过向客户机所设定的DNS服务器进行查询。 DNS解析过程如下图所示:1、 client向本地域名服务器send 一个查询请求,请求查询target url。 2、 本地域名服务器先查询自己保存的记录。 a) 如果有target url的缓存地址,则把这个地址返回给客户机; b) 如果本地域名服务器没有这个地址,则会发起查找地址的过程;本地域名服务器发送请求给根域名服务器,询问target url的IP地址。 3、 根域名服务器无法提供该地址,但会将com服务器的地址返回给本地域名服务器。 4、 本地域名服务器再向com域名服务器发送查询地址的请求。 5、 com域名服务器无法提供该地址,就将target url域名服务器地址发送给本地域名服务器。 6、 本地域名服务器再向target url域名服务器发送地址查询的请求。 DNS域名解析过程中的两种查询方式 1、递归查询Client向本地域名服务器的查询一般采用递归查询。如果客户机所询问的本地域名服务器无法提供被查询域名的IP地址,那么本地域名服务器就会以DNS客户的身份,向其他根域名服务器继续发出查询请求的报文。 2、迭代查询域名服务器向本地域名服务器的查询一般采用的是递归查询。当根域名服务器收到本地域名服务器的迭代查询请求的报文时,要么给出查询的IP地址,要么告诉本地域名服务器“下一步应该项哪个域名服务器进行查询”。然后本地域名服务器就进行后续的查询。 DNS查询数据包分析
接下来查看DNS头部的Flags区段。可以发现这个数据包是一个典型的DNS请求。再展开查询区段,从Name的值可以知道客户端其实是想查询wireshark.org的网络地址。接下来的Type:A表示域名类型为A,也就是主机地址。并且地址的类型是IN,也就是互联网地址。那么其实这个数据包就是在向本地域名服务器询问wireshark.org的IP地址是什么。下面看一下第二个数据包:
第二个数据封包是对第一个数据包的回应,从标识码的值可知他与第一个数据包是对应的。在Flags区段可看出这是一个响应数据包,并且允许必要的递归。接下来的Questions以及Answer RRs的值都是1,说明接下来的区段会包含一个询问和一个回答。询问的内容与上一个数据包一致,回答的内容就是对询问的问题做一个回应。也就是回复了wireshark.org的IP地址是128.121.50.122。客户计算机获取了这个回应信息,就可以开始构建IP数据包,并与wireshark.org进行通信了。 DNS递归数据包分析
数据包中,位于172.16.0.102的DNS服务器向位于4.2.2.1的DNS服务器发起了查询请求,这个服务器就是本地DNS服务器所设定的要转发上行请求的服务器。这个请求其实是原始请求的镜像,此时其自身相当于一个DNS客户端。 由于这个事务ID与之前捕获文件中的事务ID不同,所以我们可以将这个DNS查询作为一个新的查询。这个数据包被4.2.2.1服务器接收以后,本地DNS服务器就收到了回应,也就是第三个数据包的内容:
DNS区域是一个DNS服务器所授权管理的名字空间(或是一组DNS名称)。举个例子来说target url这个网站可能由一个DNS服务器对target url的域名负责。这样,不论是target url内部还是外部的设备,如果希望将target url解析成IP地址,都需要和这个域的DNS服务器联系。现在target url又多了一个社区功能,那么它可能会增加一个DNS服务器,专门用来处理其名字空间中的bbs部分,比如bbs.xxx.com。那么这个服务器,就成为了这个社区子区域的权威。如果有必要的话,还可以为子域名添加更多的DNS服务器,如下图所示: 区域传送指的是出于冗余备份的需要,在两台设备之间传送区域数据。比如在拥有多个DNS服务器的组织中,管理员通常都会配置一台备用DNS服务器,用于维护一份主服务器的DNS信息拷贝,以防止主DNS服务器不可用的情况出现。但如果配置不当,就会导致任何匿名用户都可以获取DNS服务器某一域的所有记录,将整个企业的基础业务以及网络架构对外暴露,从而造成严重的信息泄露,甚至导致企业网络被渗透。区域传送主要包含有两种形式: 1、完整区域传送(AXFR)这个类型的传送将整个区域在设备间进行传送。 2、增量区域传送(IXFR)这个类型的传送仅仅传送区域信息的一部分。 以下实验文件就包含有一个区域传送的例子。首先我们会发现,数据包的类型是TCP而不是UDP。而我们之前也说了,DNS是基于UDP协议的,但事实上,DNS在如同区域传送这样的一些任务中,会使用TCP协议,因为TCP对于规模化的数据传输更为有效。那么很明显,这个捕获文件中的前三个数据包其实就是TCP的三次握手。 接下来的第四个数据包就开始在172.16.16.164和172.16.16.139之间进行实际的区域传送了。需要注意的是,这个数据包里面并不包含任何DNS信息。而这个数据包被标记为“TCP segment of a reassembled PUD”,即“重组PUD的TCP分片”。第五个数据包是对于第四个数据包成功接收的确认。而第六个数据包则可以作为完整的DNS区域传送请求的参考:
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |