Wireshark协议分析之DNS
一:前言 域名系统(DNS)是最重要的互联网协议之一,因为它是总所周知的黏合剂,把域名转换为IP地址。当我们想要和一台网络设备通信却不知道它的IP地址,可以使用它的域名来进行访问。 DNS服务器存储了一个有着IP地址和DNS名字映射资源记录的数据库,并将其和客户端以及其他DNS服务器共享 由于DNS服务器的结构很复杂,因此我们只关注于通常类型的DNS流量 二:DNS数据包结构 事务ID、标志、问题计数、回答资源记录数、权威名称服务器计数、附加资源记录数,这6个字段是DNS的报文首部,共12个字节 整个DNS格式主要分为3部分内容,级基础结构部分、问题部分、资源记录部分 基础结构中的标志字段又分为若干个字段,如下图 事务ID(Transaction ID):用来对应DNS查询和响应的过程 QR(Query / Response):指明数据包是DNS查询还是DNS响应 操作码(Opcode):用来定义消息中请求的类型 权威应答(Authoritative Answer,AA):如果数据包设定了这个值,说明该响应是由域名内权威域名服务器发出的 截断(Truncation,TC):指明这个响应由于太长,无法装入数据包被极端 期望递归(Recursion desired,RD):如果在请求中设定了这个值,说明DNS客户端在目标域名服务器下不含有所请求信息的情况下,要求进行递归 可用递归