Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1097014
  • 博文数量: 321
  • 博客积分: 7872
  • 博客等级: 少将
  • 技术积分: 2120
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 09:06
文章分类

全部博文(321)

文章存档

2017年(1)

2016年(1)

2015年(12)

2014年(17)

2013年(78)

2012年(15)

2011年(17)

2010年(67)

2009年(102)

2008年(11)

分类: LINUX

2010-07-12 17:01:47

头部信息
16bit 这是由生成DNS查询的程序指定的ID,在一个请求中标识应答属于那个请求

16bit的标志 字段
1bit QR,查询/相应的标志位,0 查询,1 应答
4bit OPCODE, 定义查询或响应的类型 0 标准查询,1 反向查询,2 服务器状态查询 3 保留 4 通知 5 更新 6-15其它
1bit AA, 仅当应答时才设置,1 正应答的域名服务器是所查询域名的管理机构或者说是被授权的域名服务器
1bit TC,截断标志位,报文长度比传输通道所允许的长而被分段
1bit RD,1 DNS解释器要求DNS服务器使用递归查询
1bit RA,1 代表正在应答的域名服务器可以执行递归查询
3bit ZORE,保留字段全部置0
4bit RCODE,返回码,DNS应答时才设置
0 无错误情况,DNS应答表现为无错误。
1 格式错误,DNS服务器不能解释应答。
2 严重失败,因为名字服务器上发生了一个错误,DNS服务器不能处理查询。
3 名字错误,如果DNS应答来自于授权的域名服务器,意味着DNS请求中提到的名字不存在。
4 没有实现。DNS服务器不支持这种DNS请求报文。
5 拒绝,由于安全或策略上的设置问题,DNS名字服务器拒绝处理请求。
6-15 保留。

16bit QDCOUNT DNS查询段中的查询问题的数量。
16bit ANCOUNT DNS应答段中返回的资源记录的数量,在查询段中该值为0。
16bit NSCOUNT DNS应答段中所包括的授权域名服务器的资源记录的数量,在查询段中该值为0。
16bit ARCOUNT 附加段里所含资源记录的数量,在查询段中该值为0。

DNS正文部分
查询部分
变长 QNAME 查询名,该字段是可变长字段,其中包含一个被请求的域名,用一系列标签表示,每一个标签由一个八进制后面跟着一个表示长度的八进制数组成。
0-63长度标识+数据+0-63长度标识+数据+0结束

3www8powercdn3com0

16bit QTYPE 指定查询的资源类型(Type),该字段将一个类型值与一条指定的资源记录相匹配(有些通用的QTYPE值可以和与多条资源记录相匹配),其值可以是A(请求主机IP

地址)、NS(请求授权域名服务器)或CNAME(请求返回规范名称,或者是某主机使用的与别名对应的真实名称)。
16bit QCLASS 指定查询的类别(Class),如Inet用以表示互联网和IP地址查询

应答部分
变长 NAME 该字段是可变长字段,资源记录对应的域名(与主机发出的查询段中QNAME相同)
16bit TYPE 该字段与查询段中的QTYPE相同
16bit CLASS 该字段与查询段中的QCLASS相同
32bit TTL 该字段表示资源记录的生命周期(以秒为单位),一般用于当地址解析程序取出资源记录后决定保存及使用缓存数据的时间
16bit RDLENTH 资源长度
变长 RDATA 表示按查询段要求返回的相关资源记录的数据
TYPE=A 则返回4个字节的主机IP地址
TYPE=NS 则返回授权域名服务器的域名
TYPE=CNAME 则返回规范名称,或者是该主机使用的与别名对应的真实名称

A记录查询报文例子
ns1.powercdn.com:53 —> [Domain name ]
报文头

+------------------------------------------+--------------------------------------+
|               标识(ID) = 1999                        |      QR = 0 opcode = 0 RD = 1             |
+------------------------------------------+--------------------------------------+
|            问题数 = htons(1)                        |              回答数 = 0                           |
+------------------------------------------+--------------------------------------+
|             管理机构数 = 0                            |              附加信息数 = 0                     |
+------------------------------------------+--------------------------------------+
问题
+---------------------------------------------------------------------------------+
|                  查询名 = [3|w|w|w|8|p|o|w|e|r|c|d|n|3|c|o|m|0]                           |
+---------------------------------------------------------------------------------+
|          查询类型 = htons(1)                        |             查询类=htons(1)                   |
+------------------------------------------+--------------------------------------+

应答报文
ns.powercdn.com:53 -->[IP of  is 123.23.3.12]
+------------------------------------------+--------------------------------------+
|               标识(ID) = 1999                        |    QR=1 opcode=0 RD=1  AA =1  RA=1  |
+------------------------------------------+--------------------------------------+
|              问题数 = htons(1)                      |            回答数 = htons(1)                   |
+------------------------------------------+--------------------------------------+
|              管理机构数 = 0                           |                附加信息数 = 0                   |
+------------------------------------------+--------------------------------------+
问题
+---------------------------------------------------------------------------------+
|                    查询名 = [3|w|w|w|8|p|o|w|e|r|c|d|n|3|c|o|m|0]                         |
+---------------------------------------------------------------------------------+
|         查询类型 = htons(1)                         |            查询类 = htons(1)                  |
+---------------------------------------------------------------------------------+
应答
+---------------------------------------------------------------------------------+
|                  查询名 = [3|w|w|w|8|p|o|w|e|r|c|d|n|3|c|o|m|0]                           |
+---------------------------------------------------------------------------------+
|                   类型 = htons(1)                     |                类   = htons(1)                |
+---------------------------------------------------------------------------------+
|                                                     生存时间 = 999999                                     |
+---------------------------------------------------------------------------------+
|            资源数据长度 = htons(4)                  |     资源数据=inet_addr("31.33.7.44")   |
+---------------------------------------------------------------------------------+

posted in C/C++ by 温 云龙

Follow comments via the | |

1 Comment to "DNS查询数据信"

  1. wrote:


    Buy:Cialis Professional.Soma.Cialis Super Active+.Tramadol.Cialis Soft Tabs.Zithromax.Viagra Super Force.Viagra Soft Tabs.Super Active ED Pack.Levitra.Viagra Super Active+.VPXL.Cialis.Viagra.Propecia.Maxaman.Viagra Professional….

阅读(1135) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~