预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

吉林农业大学实验报告 姓名:李洪爽学号:12145211专业:物联网工程第六次2016年5月16日 实验七DNS协议分析 实验目的 1.学会客户端使用nslookup命令进行域名解析。 2.通过协议分析软件掌握DNS协议的报文格式。 二、实验原理 DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器 DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。DNS是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库而存在。 DNS是一个分层级的分散式名称对应系统,有点像电脑的目录树结构:在最顶端的是一个“root”,然后其下分为好几个基本类别名称,如:com﹑org﹑edu等;再下面是组织名称,如:IBM﹑Microsoft﹑Intel等;继而是主机名称,如:www﹑mail﹑ftp等。一个具体的DNS运作过程如下: 1.当被询问到有关本域名之内的主机名称的时候,DNS服务器会直接做出回答; 2.客户端向服务器提出查询项目; 3.如果所查询的主机名称属于其它域名的话,会检查缓存(Cache),看看有没有相关资料; 4.如果没有发现,则会转向root服务器查询; 5.然后root服务器会将该域名之下一层授权(authoritative)服务器的位置告知(可能会超过一台); 6.本地服务器然后会向其中的一台服务器查询,并将这些服务器名单存到缓存中,以备将来之需(省却再向root查询的步骤); 7.远方服务器回应查询; 8.若该回应并非最后一层的答案,则继续往下一层查询,直到获得客户端所需的结果为止; 9.将查询结果回应给客户端,并同时将结果储存一个备份在自己的缓存里面;10.如果在存放时间尚未过时之前再接到相同的查询,则以存放于缓存里的资料来做回应。 从这个过程我们可以看出,没有任何一台DNS主机会包含所有域名的DNS资料,资料都是分散在全部的DNS服务器中。 DNS协议报文结构 通过研究发现,DNS协议分成包头和数据两部分。如图1所示,该报文由12字节的首部和4个长度可变的字段组成。 以下会详细介绍个字段: 1.标识 标识字段由客户程序设置并有服务器返回结果,16位,在对应的query和response报文中有着相同的ID,可以在抓到的包中配对请求和应答报文,提取相关信息,同时也可以根据他们的时间戳大致估计DNS的相应时间。 2.标志 标志字段长16bit,结构如图2所示: QR1OpcodeAA1TC1RD1RA1Zero3Rcode4 QR:1bits字段,0表示查询报文,1表示响应报文 Opcode:4bits字段,通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求) AA:1bits标志表示授权回答(authoritiveanswer),该名字服务器是授权于该领域的 TC:1bits字段,表示可截(truncated),使用UDP时,它表示当应答的总长度超过512字节时,只返回前512个字节 RD:1bits字段,表示期望递归,该比特能在一个查询中设置,并在一个响应中返回,这个标志告诉名字服务器必须处理这个查询,也称为一个递归查询,如果该位为0,且被请求的名字服务器没有一个授权回答,它就返回一个能解答该查询的其他名字服务器列表,这称为迭代查询(期望递归) RA:1bits字段,表示可用递归,如果名字服务器支持递归查询,则在响应中将该bit置为1(可用递归) zero:必须为0 rcode:是一个4bit的返回码字段,通常值为0(没有差错)和3(名字差错),名字差错只有从一个授权名字服务器上返回,它表示在查询中指定的域名不存在 随后的4个bit字段说明最后4个变长字段中包含的条目数,对于查询报文,问题数通常是1,其他三项为0,类似的,对于应答报文,回答数至少是1,剩余两项可以使0或非0 5.DNS查询报文中每个查询问题的格式 01631查询名查询类型查询类查询名:要查找的名字 查询类:通常值为1,表示是互联网的地址,也就是IP协议族的地址 查询类型:有很多种查询类型,一般最常用的查询类型是A类型(表示查找域名对应的IP地址)和PTR类型(表示查找IP地址对应的域名) 查询名为要查找的名字,它由一个或者多个标示符序列组成,每个标示符已首字符字节数的计数值来说明该表示符长度,每个名字以0结束,计数字节数必须是0~63之间,该字段无需填充字节,如: 6.DNS响应报文中的资源记录格式: 域名:记录中资源数据对应的名字,它的格式和查