Wireshark实战分析之DNS协议分析

时间:2024-02-21 12:14:54

一、DNS报文格式

 

上图就是DNS报文的格式,从上图可以看出,DNS报文格式分为五大部分。分别为: 报文头Header, 问题区段(Question),回答区段(Answer),权威区段(Authority), 额外信息区段(Additional)。但是不是五个段必须存在,只有Header必须存在,别的段在不同情况下不存在。

首先看看Header段中每个字段的含义:

    DNS ID号(DNS ID Number): 用来对应DNS查询和DNS响应

    查询/响应(Query/Response, QR): 用来指明这个报文是DNS查询还是响应,占1个比特位。为1代表响应,0代表查询

    操作代码(OpCode):用来定义消息中请求的类型

    权威应答(Authoritative Answer, AA):这个比特位在响应的时候才有意义。则说明这个响应是由域内权威域名服务器发出的

    截断(Truncation, TC):用来指出报文比允许的长度还要长,导致被截断

    期望递归(Recursion Desired, RD):如果设置了RD,就建议域名服务器进行递归解析,递归查询的支持是可选的。

    支持递归(Recursion Available, RA): 当响应中设定了这个值,说明域名服务器支持递归查询

    保留(Z): 未使用,用0表示

    响应代码(Response  Code): 在DNS响应中指明错误,占4个比特位。

    问题计数(Question Count): 问题区段中的问题记录数

    回答计数(Answer Count):回答区段中的回答记录数

    域名服务计数(Name Server Count):权威区段中的记录数

    额外记录数(Additional  Records Count):在额外信息区段中的记录数

    问题区段(Question Section):包含有被发送到DNS服务器的一条或者多条信息

    回答区段(Answer Section):含有用来回答查询的一条或者多条资源记录

    权威区段(Authority Section):包含权威域名服务器的资源记录

    额外信息区段(Additional Information Section): 包含资源记录且大小可变的区段。

二、捕获DNS数据包

打开Wireshark,捕捉数据,然后打开浏览器,输入网址:www.baidu.com

可以明显的看到18帧是DNS请求帧,19帧是DNS回应帧

三、分析DNS请求帧,对应的是18帧

从上图的分析可看出,请求计数为1,请求的主机域名为:www.baidu.com

四、分析DNS响应帧,对应的是19帧

从上图可以看到,问题计数1个,也就是对应的请求帧中的问题。而回应计数3个。 分析Answer字段,如下

 

分析权威区段:此区段包含权威域名服务器资源记录

分析额外信息区段: