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 https://www.360docs.net/doc/b611845542.html,

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选择网关”截图替换:

2、然后在Wireshark,选择工具栏上的“ Capture-> “ optoins选'择过滤器,并在capture filter中输入

udp port 53(表示要抓dns 的包),截图替换

3.打开命令提示符,键入CMD后,输入nslookup https://www.360docs.net/doc/b611845542.html,.截图替换

Q b vrirnts^QIfiOBl617Dfi43 fl^i74-1

|| 分$且.1& 亠 己昱示-18 (100. DK-) | 寓盍文件:Daf^ult

分析:

1) 由此可知,本地域名服务器是: Cc-cache1-ibm 2) Ip 地址是:219.149.194.56

3) https://www.360docs.net/doc/b611845542.html, 另廿名: https://www.360docs.net/doc/b611845542.html,.DHCP 4) https://www.360docs.net/doc/b611845542.html, 的 ip 地址有 1 个

分析抓到的DNS 的包,截图:

*2 interfaces

a |

Id 件?

S^IF T CA]

ZCHCD

帮助CH)

W ■ Q ? 1素哇安

◎孕

直舊星M [W]

包n

[?|应用压示谅达器 <

a T

Wl — +

JU

Time

Des t mat i en Fr otoi^E

L*en 匸 + Inf

1 0.&&&&&& 19

2 ?1E8 ■:L 108 219.149.194.56

DNS

75 Standard que^y 0x2d47 A pub ? ±n .

2 0?0956SB 219 ? 149 a 194 a 56 192?168.1?10S DNS 214 Standard query response 9x2d4U.

3 1B 162679 192a 16B a 1a 168 219.149.194.56 DNS 72 Standard query 0xe492 A sqimg —

4 1B 168E22 219.乡*5E

192.168-1_10S

DNS 192 Standard query response 9xe^9— 5 1?25^470 192?1石8?1?108 219,149,1^4,56 DNS 71 Standard

quer*y

0>c0c56 A q2 .qlr” 6 丄.265094

219-149.194.56 192.168,1,108

DNS

103 Startd^ird

resportst 0x0c :5?.

___ —

_ h_

F rame 1 ■: 75 bytes on wire (60S bit:s) r 75 bytes captured (-600 blits J on inter-Face 0 Ethernet II, 匚:(b@: 1?::4tci : 61), Osr : Tp-1InkT M ; 35: 52 (fc :d7:33^ Internet Protocol Version 4, Src: 192.168?1?108^ Dst:

219,149.194,56

User Datagram Protoe 口丄少 Src 戸口rt7 62001 (62001)Dst Port; 53 (53) Domaiin Name System (query)

4=c d7 33 aa 35 52 bO 10

41 34= 4d G1 豳 00 45 00 s 3 _ '5 R … 4.

A?Ma …E . 96 3d

56 e-F 0@ 00 80 11

83 de c? a8 01 6c db 95 ?-V. a .-. …■…1… 3'2@ c2 38 f2 31 00 55 00 29 46 be. 2d 47 01 00 00 01 .S.1. S.) F ■-G■■?■

&Q 00

&Q 00 00 0日 03

70

75 €2 07 69 64 71

71

69

.................. p

ub ?Idqql

Ed 67 03 63 6-F 6d

00

01 00 01

to?, T

第一帧

是192.168.1.108 _____________ 发送给本地DNS服务器219.149.194.56 ___________ 的反向查询取得报文,用于获得本地DNS服务器的名字。截图并分析:

Q b vrirnts^QIfiOBl617Dfi43 fl^i74-1 || 分$且.1&亠己昱示-18 (100. DK-) | 寓盍文件:Daf^ult

相关主题
相关文档
最新文档