DNS 标志位简要解析

admin 2024年4月4日16:53:55评论2 views字数 1197阅读3分59秒阅读模式

概述

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

DNS 标志位简要解析

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

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

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

参考资料

DNS, Domain Name System - networksorcery.com

DNSSEC 原理、配置与布署简介 | 段海新( Haixin Duan ) @ Tsinghua University - source:imlonghao.com

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月4日16:53:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   DNS 标志位简要解析http://cn-sec.com/archives/2631327.html

发表评论

匿名网友 填写信息