吉林农业大学实验报告
姓名:李洪爽学号:12145211专业:物联网工程
六次2016年5月16日
实验七DNS协议分析
一、实验目的
1. 学会客户端使用nslookup命令进行域名解析。2•通过协议分析软件掌握DNS协议的报文格式。
实验原理
DNS是域名系统(Domain Name System)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在In ternet上域名与IP地址之间是——对应的,DNS就是进行域名解析的服务器
DNS命名用于In ternet等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所示:
QR 1 Opcode AA 1 TC 1 RD 1 RA 1 Zero 3 Rcode 4 QR 1bits 字段,0表示查询报文,1表示响应报文
Opcode : 4bits 字段,通常值为0 (标准查询),其他值为1 (反向查询)和2 (服务器状态 请求)
AA 1bits 标志表示授权回答(authoritive answer
),该名字服务器是授权于该领域的
TC: 1bits 字段,表示可截(truncated ),使用UD 时,它表示当应答的总长度超过 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 查询报文中每个查询问题的格式 0
16 31 查询名
查询类型 查询名:要查找的名字
查询类:通常值为1,表示是互联网的地址,也就是IP 协议族的地址 查询类型:有很多种查询类型,一般最常用的查询类型是 A 类型(表示查找域名对应的IP 地址)和PT 啖型(表示查找IP 地址对应的域名)
标识
标吉
费橡记录散
查询类 □字节
查询名为要查找的名字,它由一个或者多个标示符序列组成,每个标示符已首字符字节数
的计数值来说明该表示符长度,每个名字以0结束,计数字节数必须是0~63之间,该字段
无需填充字节,如:
gem in e.tuc. no
t
计教
计豔计数
6. DNS响应报文中的资源记录格式:
域名:记录中资源数据对应的名字,它的格式和查询名字段格式相同
类型:类型说明RR勺类型码,类通常为1,指In ternet数据
生存时间:客户程序保存该资源记录的秒数
资源数据长度:说明后面资源数据的数量,该数据的格式依赖于类型字段的值,对于类1(A记录)记录数据室4字节的IP地址
资源数据:服务器端返回给客户端的记录数据
Nslookup是一个监测网络中DNS艮务器是否能够正确实现域名解析的命令行工具。它在Windows NT/2000/XP中均可使用。本实验通过nslookup检测服务器的配置,并利用协议分析Wireshark捕获分析nslookup命令产生的DNS数据包。
Nslookup查询命令格式为nslookup域名,主要做两个操作,一个是根据本地DNS艮务器的IP地址获得本地DNS艮务器的名字,二是根据输入查询的域名查找该域名的IP地址。
三、实验步骤
1.打开Wireshark,选择工具栏上的“ Capture^” “ in terfaces选择网关”截图替换: