DNS
- Transaction ID: 将一个域名查询消息和对应的响应消息对应起来
- Query/ responses: 每个DNS数据包都会被标记为查询消息或响应消息,取决于消息中包含的内容
- Flag bits: 每个查询和响应消息都用不同的标记位置位,包括下列标记位:
- Response: 标识该消息为查询还是响应消息
- Opcode: 决定查询消息的类型。取值范围 0~15。具体含义见 表一
- Truncated: 数据包过大(大于512字节)时,是否对数据包进行截断
- Recursion desired: 客户端查找记录不存在时是否执行递归查询
- Recursion available: 置位时表示客户端请求的递归是可用的
- Reserved: 根据 RFC 1035 的定义,该位为保留位。所有查询和响应消息,该位必须置为0
- Response code: 响应消息类型
- Response code: 表示是否出现错误,以及错误类型。表二 列出可能收到的代码值
- Questions: 数据包中包含的查询数量
- Answers: 对查询消息所作响应的数量
- Authority RRs: 响应消息中授权资源记录的数量
- Additional RRs: 响应消息中额外资源记录的数量
- Query sectoin: 发送给DNS服务器的查询消息,该字段在接收到的响应消息中也应该是相同的取值
- Answer section: 对查询消息所作的响应。响应消息也可以有很多个。响应消息往往会包含对查询消息所作响应的资源记录
- Type: 表示查询类型。表3 列出了常见的查询类型。
- Additional info: 该字段包括了包含资源记录的额外信息。这不是响应查询消息时必须的信息
表一: Opcode 取值描述
Opcode 值 | 描述 |
---|---|
0 | 标准查询 |
1 | 逆向查询 |
2 | 服务器状态请求 |
3 | 未分配 |
4 | 通告 |
5 | 更新 |
6~15 | 未分配 |
表二: Response code 取值描述
Code | 描述 |
---|---|
0 | 没有错误 |
1 | 格式错误 |
2 | 服务器故障 |
3 | 域名错误 |
4 | 未使用 |
5 | 拒绝 |
表三 Type 取值描述
类型 | 描述 |
---|---|
A | 主机地址 |
NS | 域名服务器 |
MX | 邮件交互 |
SOA | 起始授权机构 |
PTR | 指针记录 |
AAA | IPv6地址 |
AXFR | 全量传输 |
IXFR | 增量传输 |