当前位置:文档之家› DNS协议分析实验

DNS协议分析实验

吉林农业大学实验报告

姓名:李洪爽学号: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选择网关”截图替换:

相关主题