DNS 标志位简要解析

DNS 标志位简要解析

根据规范,一个 DNS 包可以分为下面的几个部分。

其中,身份 ID 占 16 个位,标志符占 16 个位,下面的分别是请求数、回答数、权威域名服务器数、其他记录数,再下面一点的就是回答的内容了(请求、回答、权威域名服务器、其他记录)

可以对照下面这个 Wireshark 抓到的针对本站 imlonghao.com 的一次 DNS 请求进行理解

本博文主要讲述的是 DNS 包中的几个标志位

标志位

正如上面所提供的 Wireshark 的截图,我们可以看到一个名为 Flags 的栏目,这个就是我们今天要讲的标志位。

标志位总长 16 个位,也就是两个字符。

有相应值的位标记为 1 ,没有的则标记为 0 。

最后这 16 个二进制的位通过进制转换即可变成十六进制的,在图中也就是 81 80

QR 1bit

0 为客户端请求包

1 为服务器响应包

Opcode 4bits

0000 为普通的 DNS 请求

0001 为 rDNS 请求

0002 为服务器状态

0003 无

0004 为通知 (Notify)

0005 为更新 (Update)

0006 - 0015 保留

AA 1bit

0 为应答服务器不是该域名的权威解析服务器

1 为应答服务器是该域名的权威解析服务器

TC 1bit

0 为报文未截断

1 为报文过长被截断 (只返回了前 512 个字节)

RD 1bit

0 为不期望进行递归查询

1 为期望进行递归查询 (从域名服务器进行递归查询)

RA 1bit

0 为应答服务器不支持递归查询

1 为应答服务器支持递归查询

Z 1bit

保留位

AD 1bit

0 为应答服务器未验证了该查询相关的 DNSSEC 数字签名

1 为应答服务器已经验证了该查询相关的 DNSSEC 数字签名

CD 1bit

0 为服务器已经进行了相关 DNSSEC 数字签名的验证

1 为服务器并未进行相关 DNSSEC 数字签名的验证

Rcode 4bits

0000 为正常

0001 为格式错误 (NS 无法解析这个请求)

0002 为服务器错误 (NS 有问题所以无法进行这个请求)

0003 为名称错误 (请求中的地址并不存在)

0004 为未实施查询 (NS 服务器不支持这种查询)

0005 为拒绝 (由于策略原因拒绝执行这个错误)

0006 为域名出现了但是他不该出现

0007 为集合 RR 存在但是他不该存在

0008 为集合 RR 不存在但是他应该存在

0009 为服务器并不是这个区域的权威服务器

0010 为该名称并不包含在区域中

0011 - 0015 保留

0016 为错误的 OPT 版本或者 TSIG 签名无效

0017 为无法识别的密钥

0018 为签名不在时间范围内

0019 为错误的 TKEY 模式

0020 为重复的密钥名称

0021 为该算法不支持

0022 为错误的截断

0023 - 3840 保留

3841 - 4095 私人使用

4096 - 65534 保留

65535 RFC 6195

转载自:https://imlonghao.com/40.html

相关内容

《饥荒》猪房刷猪教学
怎样获得免费office365

《饥荒》猪房刷猪教学

🕒 07-27 👁️ 2094
igxe交易暂挂什么意思
英国手机版365

igxe交易暂挂什么意思

🕒 10-28 👁️ 2124
Active Directory 域服务概述
英国手机版365

Active Directory 域服务概述

🕒 10-15 👁️ 3634