DNS协议学习

DNS协议格式报文格式

Domain Name System (response)
Transaction ID: 0x0394 会话标识
Flags: 0x8180 Standard query response, No error 标志
Questions: 1 问题数
Answer RRs: 1 回答 资源记录数
Authority RRs: 8 授权 资源记录数
Additional RRs: 8 附加 资源记录数
Queries 查询区域
Answers 回答区域
Authoritative nameservers 授权区域
Additional records 附加区域

Transaction ID 2个字节 会话标识
是DNS报文的ID标识,对于请求报文和其对应的应答报文,用它区分DNS应答报文是哪个请求与应答

Flags 2个字节 标志
Flags: 0x8180 Standard query response, No error
1… …. …. …. = Response: | 查询响应的标志位, 查询0,响应1
.000 0… …. …. = Opcode: | 查询的类型 标准查询0,反向查询1,服务器状态请求2,3-15保留位置,由发起者设置
…. .0.. …. …. = Authoritative: | 表示授权回答,只在响应有效,表示指出应答的服务器是查询域名的授权解析服务器
…. ..0. …. …. = Truncated: Message is not truncated | 表示可截断,报文比允许的长度还长,允许截断
…. …1 …. …. = Recursion desired: Do query recursively | 表示期望域名服务器进行递归查询
…. …. 1… …. = Recursion available: Server can do recursive queries | 表示服务器是否支持递归查询
…. …. .0.. …. = Z:| 保留值 未使用,在请求和响应中必须为0
…. …. ..0. …. = Answer authenticated: Answer/authority portion was not authenticated by the server
…. …. …0 …. = Non-authenticated data: Unacceptable
…. …. …. 0000 = Reply code: No error (0) | 表示返回码 0无差错,1格式错误,2服务器错误,3名字差错,4不可执行,5拒绝的

Questions: 1
Answer RRs: 0
Authority RRs: 0
Additional RRs: 0

Queries 查询区域
drive.wps.cn: type A, class IN
Name: drive.wps.cn 查询的域名
[Name Length: 12]
[Label Count: 3]
Type: A (Host Address) (1) 查询的协议类型
Class: IN (0x0001) 查询的类: IN->Internet

Type的类型
1 A 由域名获得IPv4地址
2 NS 查询域名服务器
5 CNAME 查询规范名称
6 SOA 开始授权
11 WKS 熟知服务
12 PTR 把IP地址转换成域名
13 HINFO 主机信息
15 MX 邮件交换
28 AAAA 由域名获得IPv6地址
252 AXFR 传送整个区的请求
255 ANY 对所有记录的请求

Answers,Authoritative nameservers,Additional records
Name: bj.file.myqcloud.com 查询的域名
Type: A (Host Address) (1) 查询的类型
Class: IN (0x0001) 查询的类
Time to live: 600 TTL,表示资源记录可以缓存的时间,单位秒
Data length: 4
Address: 106.39.183.102 ip地址

参考资料