【愚公系列】2022年02月 wireshark系列-数据抓包分析之DNS协议02
【摘要】 一、数据抓包分析之DNS协议02任务描述:分析DNS数据包DNS只有两种报文,分别是查询报文和响应报文。他们的报文格式相同,如下:(1)DNS报文格式。下面我们解释一下字段含义,方便下面的分析。 DNS ID号(DNS ID Number):用来对于DNS查询和DNS响应。 查询/响应(Query/Response,QR):用来指明这个报文是DNS查询还是响应,占1个比特位。如果是1,...
一、数据抓包分析之DNS协议02
任务描述:分析DNS数据包
DNS只有两种报文,分别是查询报文和响应报文。他们的报文格式相同,如下:
(1)DNS报文格式。
下面我们解释一下字段含义,方便下面的分析。
DNS ID号(DNS ID Number):用来对于DNS查询和DNS响应。
查询/响应(Query/Response,QR):用来指明这个报文是DNS查询还是响应,占1个比特位。如果是1,表示响应。如果是0,表示查询。
操作代码(OpCode):用来定义消息中请求的类型,占4个比特位。
权威应答(Authoritative Answer,AA):如果响应报文中设定了这个值,则说明这个响应是由域内权威域名服务器发出的,占1个比特位。
截断(Truncation,TC):用来指明这个响应由于时间太长,无法接入报文而被截断。该标志位占1个比特位,当该标志位值为1时,表示响应已经超过512字节并以被截断。
期望递归(Recursion Desired,RD):当请求中设定了这个值,则说明DNS客户端在目标域名服务器不含有所请求信息的情况下,要求进行递归查询。该标志位占1个比特位。
可用递归(Recursion Available,RA):当响应中设定这个值,说明域名服务器支持递归查询,占1个比特位。
保留(Z):在RFC1035的规定中全被设为0,但有时会被用来作为RCode域的扩展,占3比特位。
响应代码(Response Code):在DNS响应中用来指明错误,占4个比特位。该字段的值通常为0和3,可取的值已经含义如下:
1)0表示没有错误。
2)1表示格式错误。
3)2表示在域名服务器上存在问题。
4)3表示域参数问题。
5)4表示查询类型不支持。
6)5表示在管理上被禁止。
7) 6~15表示保留。
问题计数(Question Count):在问题区段中的条目数。
问答计数(Answer Count):在回答区段中的条目数。
域名服务器计数(Name Server Count):在权威区段的域名资源记录数。
额外记录计数(Additional Records Count):在额外信息区段中的其他资源记录数。
问题区段(Question section):大小可变,包含有被发送到DNS服务器的一条或多条信息查询的部分。
回答区域(Answer section):大小可变,含有用来回答查询的一条或多条资源记录。
权威区段(Authority section):大小可变,含有指向权威域名服务器的资源记录,用以继续解析过程。
额外信息区域(Additional Information section):包含资源记录且大小可变的区段,这些资源记录用来存储完全没有必要回答的查询相关的额外信息。
(2)DNS查询数据包
下面,我们以dns-ping文件来分析DNS协议,抓包如下图:
上图中的Info信息中,可以看出是DNS的查询包,其他协议这里不多介绍,不理解的,可以去相关的实验中学习,我们来主要看DNS协议。
Domain Name System (query) #DNS 查询
Response In: 2078
Transaction ID: 0x3061 #DNS ID号
Flags: 0x0100 Standard query #标志
0... .... .... .... = Response: Message is a query #响应消息,值为0,表示是DNS查询
.000 0... .... .... = Opcode: Standard query (0) #操作代码
.... ..0. .... .... = Truncated: Message is not truncated #截断
.... ...1 .... .... = Recursion desired: Do query recursively #期望递归
.... .... .0.. .... = Z: reserved (0) #保留
.... .... ...0 .... = Non-authenticated data: Unacceptable
Questions: 1 #问题计数为1
Answer RRs: 0 #回答计数为0
Authority RRs: 0 #域名服务器计数为0
Additional RRs: 0 #额外计数为0
Queries #问题区段
wwww.hetianlab.com: type A, class IN
Name: wwww.hetianlab.com #请求的域名
Name Length: 18
Label Count: 3
Type: A (Host Address) (1) #域名类型为A(主机地址)
Class: IN (0x0001) #地址类型为IN(互联网地址)
以上信息就是DNS协议包的详细信息,在标志位字段,可以看到该包是一个DNS请求包,请求的域名为www.hetianlabdns.com,类型为A。将以上信息对应到DNS报文格式中,如下:
(3)DNS响应数据包
下面,我们来分析下相应的数据包,如下图:
在上图中Info列可以看出,这是个DNS相应的数据包.下面我们来详细的看下:
Domain Name System (response) #DNS相应
Request In: 2029
Time: 0.471163000 seconds #DNS 相应时间
Transaction ID: 0x3061 #DNS ID
Flags: 0x8183 Standard query response, No such name #标志
1... .... .... .... = Response: Message is a response #相应消息,1,表示是DNS响应
.000 0... .... .... = Opcode: Standard query (0) #操作码
.... .0.. .... .... = Authoritative: Server is not an authority for domain #权威应答
.... ..0. .... .... = Truncated: Message is not truncated #截断
.... ...1 .... .... = Recursion desired: Do query recursively #期望递归
.... .... 1... .... = Recursion available: Server can do recursive queries #可用递归
.... .... .0.. .... = Z: reserved (0) #保留
.... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server
.... .... ...0 .... = Non-authenticated data: Unacceptable
.... .... .... 0011 = Reply code: No such name (3) #响应代码
Questions: 1 #问题计数为1
Answer RRs: 0 #回答计数为0(此处表示没有找到域名对应的IP)
Authority RRs: 1 #域名计数器计数为1
Additional RRs: 0 #额外记录计数为0
Queries #问题区域
wwww.hetianlab.com: type A, class IN
Name: wwww.hetianlab.com #请求的域名
Name Length: 18
Label Count: 3
Type: A (Host Address) (1) #域名类型
Class: IN (0x0001) #地址类型为IN(互联网地址)
Authoritative nameservers #权威域名服务器,其下面的是一些解释信息,不过多介绍
之前说过,我们使用ping一个未知的域名来获取DNS数据,而域名本身没有在互联网上注册,按照DNS解析的原理就会知道,最后是无法得到域名对应的IP。所以上面的Answer RRS为0 。
而同学有些兴趣可以看下实验环境中,访问百度的DNS抓包,就会发现其Answer RRs不为0,并且在问题区域(Queries)的下面,会列出回答区域。请同学们自己查看分析。
我们将上面分析的数据,填入DNS报文中,具体如下:
好了,DNS协议,就先分析到这里,还是希望同学们自己通过合天的基础知识学习后,能访问互联网来抓取DNS进行详细分析,增加自己的知识储备
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)