DNS抓包分析

TCP/IP原理与应用课程作业一对DNS 域名系统的抓包分析姓名:XXX学号:XXXXXXXXXX学院:计算机科学与工程 ,一、 实验目的通过网络抓包试验,深刻理解TCP/

TCP/IP原理与应用课程作业一

对DNS 域名系统的抓包分析

姓名:XXX

学号:XXXXXXXXXX

学院:计算机科学与工程

,

一、 实验目的

通过网络抓包试验,深刻理解TCP/IP协议簇中DNS 域名系统的使用方式与报文具体格式与含义,加强对课程的理解与应用。

二、 相关原理

2.1 DNS的定义

DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP 地址,并具有将域名转换为IP 地址功能的服务器。其中域名必须对应一个IP 地址,而IP 地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP 地址的过程就称为“域名解析”。在Internet 上域名与IP 地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP 地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 就是进行域名解析的服务器。 DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP 地址,这样才能上网。其实,域名的最终指向是IP 。

2.2 DNS的构成

在IPV4中IP 是由32位二进制数组成的,将这32位二进制数分成4组每组8个二进制数,将这8个二进制数转化成十进制数,就是我们看到的IP 地址,其范围是在0~255之间。因为,8个二进制数转化为十进制数的最大范围就是0~255。现在已开始试运行、将来必将代替IPv4的IPV6中,将以128位二进制数表示一个IP 地址。

2.3 DNS的查询

DNS 查询可以有两种解释,一种是指客户端查询指定DNS 服务器上的资源记录(如A 记录),另一种是指查询FQDN 名的解析过程。

一、查询DNS 服务器上的资源记录

您可以在Windows 平台下,使用命令行工具,输入nslookup ,返回的结果包括域名对应的IP 地址(A 记录)、别名(CNAME 记录)等。除了以上方法外,还可以通过一些DNS 查询站点如国外的国内的 查询域名的DNS 信息。

二、FQDN 名的解析过程查询

若想跟踪一个FQDN 名的解析过程,在Linux Shell下输入dig www trace,返回的结果包括从跟域开始的递归或迭代过程,一直到权威域名服务器。

2.4 DNS的报文格式

DNS 报文的首部:

,

DNS 报文首部的后面是可变部分,包括四个小部分。 问题部分由一组问题记录组成。

图2-4 DNS 报文问题记录格式

DNS 报文的其余三个部分是回答部分、授权部分和附加信息部分,附加信息包含回答部分和授权部分返回的资源所要求的附加信息(如IP 地址)。这三部分均由一组资源记录组成,而且仅在应答报文中出现。一条资源记录描述一个域名。

三、 结合具体抓包实例进行的分析

3.1协议数据包窗口

,

从包到达的时间,顺序以及源和目的IP 地址可知,这是一对DNS 请求与应答报文。下图为1号包与2号包中DNS 段的报文分析注释,由此可证明,包1为DNS 请求报文,包2为包1的应答报文,请求与应答报文的到达间隔时间为0.022177000s ,它们的标识字段都为0xf03aH ,用于相互匹配。

因为DNS 请求报文的目的是请求www.soku.com 的IP 地址,故包1的源IP 地址为本机IP ,目的IP 地址为DNS 服务器的IP ,包2与包1相反。 3.2协议树窗口 DNS 请求报文:

DNS 应答报文:

可以看出,DNS 请求报文与应答报文链路层的MAC 地址相反,请求报文中的源物理地址为本机的物理地址,这与IP 地址相对应。此外,DNS 请求报文与应答报文传输层中UDP 的源端口与目的端口相反,其中请求报文UDP 的源端口为客户机动态申请的本地端口,目的端口为DNS 所固有的53号周知端口。这两点都体现了DNS 请求报文与应答报文间的请求-应答关系。

DNS 请求报文与应答报文协议树窗口显示的协议层次与网络协议的层次对应相

DNS 请求报文:

,

DNS 应答报文:

以上两张图分别给出了DNS 请求报文与应答报文的时间参数、包号、长度与协议层次,在此不一一细说。但是,我们可以很清楚的看出,DNS 请求报文的长度为72字节,而应答报文的长度为156字节,比请求报文长得多。这是由于在DNS 应答报文中,具有请求报文所没有的回答部分、授权部分与附加部分,在下面的应答报文分析中会具体说明。

3.4数据链路层节点

DNS 请求报文:

DNS 应答报文:

由上图可以更明显的看出,DNS 请求与应答报文的源与目的MAC 地址的相反现象。此外,DNS 请求与应答报文以太网协议中的类型均为IP ,即在DNS 协议层次中网络层协议为IP ,这体现了DNS 作为TCP/IP协议簇中协议的特点。

3.5 IP节点

DNS 请求报文:

,

DNS 应答报文:

DNS 请求与应答报文IP 层相同点:

版本号:IPv4

首部长度:20字节,没有其他选项

服务类型:最低优先级的一般服务

片偏移:0,无分片

协议标识:UDP (0x11H )

DNS 请求与应答报文IP 层不同点:

数据报长度:上文已有分析。

标识不同,因为请求与应答为两个不同的报文,信源机给予的用于区分分片的标识不同。

生存时间不同,请求报文为64,应答报文为60。

校验和不同,DNS 请求与应答报文IP 层首部不同,故校验和不同。 源与目的IP 地址不同,原因在前面的分析中已经说明。

3.6 UDP节点

DNS 请求报文:

,

DNS 应答报文:

DNS 请求与应答报文的源与目的端口相反,原因在前面的分析中已经说明。 请求报文UDP 长度为38字节,应答报文UDP 长度为122字节。

3.7DNS 节点

3.7.1DNS 请求报文

首部:

标识字段:0xf03aH ,用于匹配请求与响应

标志字段:0x0100H

QR :0,为请求报文

OpCode :0000(0),标准查询(正向解析)

AA :0,此字段只在服务器的响应中有效,在上图中不显示

TC :0,报文没有被截断

RD :1,请求服务器进行递归解析

RA :0,此字段只在服务器的响应中有效,在上图中不显示

3比特保留位:000

rCode :0000,没有错误

问题记录数:1

回答记录数:0(DNS 请求报文此字段为0)

,

授权记录数:0(DNS 请求报文此字段为0)

附加信息记录数:0(DNS 请求报文此字段为0)

问题部分:

询问名:可变长,在此为14字节,由标号序列组成,每个标号前有一个字节指出该标号的字节长度,0长度表示名称结束。具体表示:

3www4soku3com0

询问类型:A ,数值为1,记录类型为IPv4地址,用于域名到IPv4地址的转换。 询问类:IN ,数值为1,表示因特网协议。

3.7.2DNS 应答报文

首部:

标识字段:0xf03aH ,用于匹配请求与响应,此处与DNS 请求报文相匹配。 标志字段:0x8180H

QR :1,为应答报文

OpCode :0000(0),标准查询(正向解析)(与请求报文相同)

AA :0,回答的服务器是该域的授权服务器

TC :0,报文没有被截断

RD :1,请求服务器进行递归解析(与请求报文相同)

RA :1,服务器支持递归解析(回应RD )

3比特保留位:000

rCode :0000,没有错误

问题记录数:1

回答记录数:1

,

授权记录数:2

附加信息记录数:2

问题部分:

与请求报文相同,即作为DNS 请求报文的回答,DNS 应答报文的问题部分就是请求报文的问题部分的拷贝。

回答部分:

域名:0xC00CH ,为指向问题部分询问名的指针,具体地址为00000000001100(二进制地址)

类型:A ,数值为1,记录类型为IPv4地址,用于域名到IPv4地址的转换。 类:IN ,数值为1,表示因特网协议。

生存时间:15min

资源数据长度:4字节

资源数据:给出查询得到IP 地址,211.151.50.103

授权部分:

,

在此部分中,授权由2条资源记录组成。

附加信息:

在此部分中,附加信息仍由2条资源记录组成。

由于此处授权和附加信息含义基本一目了然,这里不进行赘述了,至此,本次DNS 抓包实验的分析基本结束了,下面是本次实验的个人小结。

四、 体会与小结

经过本次对DNS 域名系统的抓包实验的分析,我加深了对DNS 域名系统的理解和掌握。首先从DNS 的含义上,DNS 是由解析器和域名服务器组成的,其中,域名服务器是指保存有该网络中所有主机的域名和对应IP 地址,并具有将域名转换为IP 地址功能的服务器。它主要有主服务器和转发服务器两种形式。在理解了DNS 的含义后,我又对其具体构成进行了深入的掌握和理解。本次实验,也让我对DNS 的理解达到了理论与实际相结合的程度。另外,我也通过实验初步掌握了软件Wireshark 的使用,也让我感受到了亲自动手进行实验的乐趣,并充分提升了我对TCP/IP这门课程的学习兴趣。相信在未来的学习生活中,我也将通过自己的努力,更好的掌握TCP/IP这门课程,并更多的讲理论运用于实际。

标签: