DNS协议分析实验:通过一次下载任务抓包分析

您所在的位置:网站首页 Dns报文分析 DNS协议分析实验:通过一次下载任务抓包分析

DNS协议分析实验:通过一次下载任务抓包分析

2024-07-12 10:57| 来源: 网络整理| 查看: 265

DNS协议分析 一、实验简介

本实验主要讲解DNS协议的应用,通过一次ping任务,抓取DNS协议数据报文,对DNS解析的请求和相应报文进行详细的分析。

二、实验目标

1.了解运输层DNS协议基本概念、报文结构; 2.分析DNS报文头部; 3.分析DNS请求和相应过程; 4.掌握使用wireshark进行DNS协议分析技术。

三、实验环境

实验主机:centos7和本地Windows 实验工具:Wireshark

四、实验步骤 在本地Windows上打开Wireshark,选择要抓取的网卡,我们虚拟机使用的是VMnet8,所以这里选择这个网卡。

打开centos7虚拟机,确保虚拟机可以上网。

虚拟机ping百度域名。

通过Wireshark抓取ping百度域名的数据包。

把DNS解析数据包过滤出来,右键点击页面,找到对话过滤器,选择UDP,因为DNS协议是使用UDP协议传输的,这样过滤比较快。

过滤之后的数据包,只有两条数据,分别是请求数据会响应数据

接下来我们对DNS的请求报文进行分析,这里我们可以看到DNS请求数据是由UDP协议发送的,端口号是53。

这是DNS报文的基础结构部分,每个字段含义如下: 事务ID(TransactionID):DNS报文的ID标识。对于请求报文和其对应的应答报文,该字段的值是相同的。通过它可以区分DNS应答报文是对哪个请求进行响应的。 标志(Flags):DNS报文中的标志字段。 问题计数(Questions):DNS查询请求的数目。 回答资源记录数(AnswersRRs):DNS响应的数目。 权威名称服务器计数(AuthorityRRs):权威名称服务器的数目。 附加资源记录数(AdditionalRRs):额外的记录数目(权威名称服务器对应IP地址的数目)。

下图所示是DNS报文中的标志字段

其中Flags字段中每个字段的含义如下: QR(Response):查询请求/响应的标志信息。查询请求时,值为0;响应时,值为1。 Opcode:操作码。其中,0表示标准查询;1表示反向查询;2表示服务器状态请求。 AA(Authoritative):授权应答,该字段在响应报文中有效。值为1时,表示名称服务器是权威服务器;值为0时,表示不是权威服务器。 TC(Truncated):表示是否被截断。值为1时,表示响应已超过512字节并已被截断,只返回前512个字节。 RD(RecursionDesired):期望递归。该字段能在一个查询中设置,并在响应中返回。该标志告诉名称服务器必须处理这个查询,这种方式被称为一个递归查询。如果该位为0,且被请求的名称服务器没有一个授权回答,它将返回一个能解答该查询的其他名称服务器列表。这种方式被称为迭代查询。 RA(RecursionAvailable):可用递归。该字段只出现在响应报文中。当值为1时,表示服务器支持递归查询。 Z:保留字段,在所有的请求和应答报文中,它的值必须为0。 rcode(Replycode):返回码字段,表示响应的差错状态。 当值为0时,表示没有错误; 当值为1时,表示报文格式错误(Formaterror),服务器不能理解请求的报文; 当值为2时,表示域名服务器失败(Serverfailure),因为服务器的原因导致没办法处理这个请求; 当值为3时,表示名字错误(NameError),只有对授权域名解析服务器有意义,指出解析的域名不存在; 当值为4时,表示查询类型不支持(NotImplemented),即域名服务器不支持查询类型; 当值为5时,表示拒绝(Refused),一般是服务器由于设置的策略拒绝给出应答,如服务器不希望对某些请求者给出应答,,或者服务器不希望进行某些操作(比如区域传送zonetransfer); 6-15保留值,暂时未使用。

下面是DNS报文的问题查询部分,每个字段含义如下:

其中Queries字段中每个字段的含义如下: 查询名(Name):一般为要查询的域名,有时也会是IP地址,用于反向查询。 查询类型(Type):DNS查询请求的资源类型。通常查询类型为A类型,表示由域名获取对应的IP4地址。(更多类型如AAAA,CANME,SOA,PTR,NS等) 查询类(Class):地址类型,通常为互联网地址,值为1。 那么,对于上面报文内容,翻译过后的意思就是,“该报文为标准查询(Opcode=0)请求(QR=1)报文,向本地域名服务器(IP报文中目的地址为本地域名服务器地址,在上面准备工作中已经知道了)请求查询,发起请求内容为‘获取www.baidu.com(Name=www.baidu.com)所对应的IP4地址(Type=A)’,期待本地域名服务器递归查询(RD=1)请求”

下面是DNS响应数据包基础结构部分,报文中的标志字段,表示一次标准的查询响应,没有错误。

下图是DNS响应数据包回答资源记录

每个字段含义如下: Questions:1#问题计数 AnswerRRs:3#回答计数 AuthorityRRs:0#域名服务器计数 AdditionalRRs:0#额外记录计数

响应报文中,Queries字段完全和请求报文相同

每个字段含义如下: Name:DNS请求的域名。 Type:资源记录的类型,与问题部分中的查询类型值是一样的。 Class:地址类型,与问题部分中的查询类值是一样的。

最后我们来看看Answer字段,一共三个回答。

回答一:类型为CNAME,代表别名,其别名为www.a.shifen.com 回答二:类型为主机地址,其IP地址为120.232.145.144 回答三:类型为主机地址,其IP地址为120.232.145.185 本次解析没有Authoritativenameservers(权威名称服务器)和Additionalrecords(附加记录),这里就不做详细解释了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3