标签:
DNS消息包含三种类型:
请求和响应在原始标准中定义,更新在RFC 2136中定义。
DNS通用消息格式如下:

DNS消息头包含以下字段:
| 字段名称 | 描述 |
|---|---|
| Transaction ID | 16比特,标识一次DNS交互。由请求端生成,响应端返回,用于将响应报文对应到请求报文 |
| Flags: | 16比特,包含各种标记,标记定义如下: |
| Request/response | 1比特,为0时表示请求,为1时表示响应 |
| Operation code | 4比特,表示操作码,0x0表示查询 |
| Authoritative answer | 1比特,表示响应者是域名的权威名字服务器 |
| Truncation | 截断标志位,1比特,为1时表示响应超过512字节,已被截断 |
| Recursion desired | 1比特,表示递归查询 |
| Recursion available | 1比特,为1时表示响应值可以处理递归查询 |
| Reserved | 3比特,保留字段,为0 |
| Return code | 4比特,返回码。0表示成功响应,0x3表示域名错误,域名在权威名字服务器上不存在 |
| Question Resource Record count | 16比特,表示问题个数 |
| Answer Resource Record count | 16比特,表示回答个数 |
| Authority Resource Record count | 16比特,表示权威资源记录个数 |
| Additional Resource Record count | 16比特,表示额外资源记录个数 |
该字段表示查询的域名,包含以下三个字段:
回答、授权、额外信息字段均采用资源记录(Resource Record)格式,定义如下:
| 字段名称 | 描述 |
|---|---|
| Resource Record Name | DNS域名,其格式与问题字段中的查询名相同,但是为了节省数据,如果之前出现了相同的名字,则此处的值为之前相同名字相对报文中DNS起始数据的位置。如问题的查询名为www.baidu.com,回答字段中的资源记录名字与之相同,因此其值为0xc0 0x0c(0xc0表示引用,0x0c表示查询名相对DNS起始数据的位置是12) |
| Resource Record Type | 16比特,资源记录类型,与问题字段中查询类型相同 |
| Resource Record Class | 16比特,资源记录类(IN: 0x0001) |
| Time-to-Live | 32比特,TTL |
| Resource Data Length | 16比特,资源数据长度 |
| Resource Data | 资源数据 |
标签:
原文地址:http://www.cnblogs.com/aurora-s/p/5030021.html