DNS抓包分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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请求报文的目的是请求的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请求报文: