【以太网数据包】DNS数据包

来源:互联网 发布:sql 注入漏洞 关键字 编辑:程序博客网 时间:2024/05/18 16:35

【以太网数据结构】系列文章链接
http://blog.csdn.net/u012819339/article/category/5849175


DNS数据包格式

这里写图片描述

DNS协议作用:解析出域名对应的IP


协议字段解释:

标识ID:每一次DNS查询数据包都会有自己一个ID,其应答包的ID和请求包的ID是一样的。
标识FLAG:该字段有点意思,如下:
这里写图片描述

位段 位置 解释 QR x000 0000 0000 0000 查询/响应的标志位,1为响应,0为查询 opcode 0xxx x000 0000 0000 定义查询或响应的类型(若为0则表示是标准的,若为1则是反向的,若为2则是服务器状态请求)。 AA 0000 0x00 0000 0000 授权回答的标志位。该位在响应报文中有效,1表示名字服务器是权限服务器 TC 0000 00x0 0000 0000 截断标志位。1表示响应已超过512字节并已被截断 RD 0000 000x 0000 0000 该位为1表示客户端希望得到递归回答 RA 0000 0000 x000 0000 只能在响应报文中置为1,表示可以得到递归响应 zero 0000 0000 0xxx 0000 保留字段,都为0 rcode 0000 0000 0000 xxxx 返回码,表示响应的差错状态,通常为0和3,各取值含义如下 rcode 解释 0 无差错 1 格式差错 2 问题在域名服务器上 3 域参照问题 4 查询类型不支持 5 在管理上被禁止 6 – 15 保留

问题数、资源记录数、授权资源记录数、额外资源记录数 分别对应查询问题、回答、授权、额外信息

应答包还有问题区域
查询名 + 查询类型 + 查询类

查询名:计数+标示符 组成
举例来说明,s.x.baidu.com在网络中的数据,如下

- s . x . b a i d u . c o m 0x01 0x73 0x01 0x78 0x05 0x62 0x61 0x69 0x64 0x75 0x03 0x63 0x6f 0x6d 0x00 1 ’s’ 1 ‘x’ 5 ‘b’ ‘a’ ‘i’ ‘d’ ‘u’ 3 ‘c’ ‘o’ ‘m’ 0

查询类型:通常查询类型为A(由名字获得IP地址)或者PTR(获得IP地址对应的域名),类型列表如下

类型 助记 说明 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 对所有记录的请求

查询类: 通常为1,指Internet数据

复杂的DNS应答包就不解释了,自个查。


实例抓包:
以blog.csdn.net为例,DNS请求报文如下
这里写图片描述

DNS应答报文如下
这里写图片描述


【以太网数据结构】系列文章见
http://blog.csdn.net/u012819339/article/category/5849175

1 0
原创粉丝点击