DNS答案部分中的NAME字段的格式是什么?

NAME字段在RFC 1035第4.1.3小节中没有详细说明。

我想了解这个字段(编程)的答案消息types,我search这些资源(数据表)。

我遵循:

  • IETF RFC 2181
  • www.ccs.neu.edu

我错过了什么吗?

伪代码:

题:

byte[]{ 0x00,0x00, 0x01,0x00, 0x00,0x02, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x03,0x77,0x77,0x77, 0x12,0x74,0x68,0x65,0x5f,0x70,0x61,0x63,0x6b,0x65,0x74,0x67,0x65,0x65,0x6b, 0x03,0x63,0x6f,0x6d, 0x00, 0x00,0x01, 0x00,0x01, 0x13,0x74,0x74,0x68,0x65,0x5f,0x70,0x61,0x63,0x6b,0x65,0x74,0x67,0x65,0x65,0x6b, 0x03,0x63,0x6f,0x6d, 0x00, 0x00,0x01, 0x00,0x01 } 

回答:

 byte[]{ 0x00,0x00, 0x81,0x80, 0x00,0x02, 0x00,0x01, 0x00,0x00, 0x00,0x00, 0x03,0x77,0x77,0x77, 0x12,0x74,0x68,0x65,0x5f,0x70,0x61,0x63,0x6b,0x65,0x74,0x67,0x65,0x65,0x6b, 0x03,0x63,0x6f,0x6d, 0x00, 0x00,0x01, 0x00,0x01, 0x13,0x74,0x74,0x68,0x65,0x5f,0x70,0x61,0x63,0x6b,0x65,0x74,0x67,0x65,0x65,0x6b, 0x03,0x63,0x6f,0x6d, 0x00, 0x00,0x01, 0x00,0x01, 0xC0,0x0C, <----- answer start here , i want to understand this value 0x00,0x00, 0x00,0x00,0x06,0xcf, 0x00,0x04, 0x07,0x00,0x00,0x01 

DNS答案部分中的NAME部分的格式与DNS问题部分的QNAME部分完全相同。

一个表示为标签序列的域名,其中每个标签由一个长度字节组成,后面跟着这个数字的八位字节。 域名以根的空标签为零长度八位组结束。 请注意,这个字段可能是一个奇数的八位字节; 没有使用填充。

它也受到4.1.4节中的压缩scheme的限制,所以在一个典型的DNS响应中,您最有可能在问题部分看到全名,在答案部分有一个指向它的指针。

你在你的问题中明确指出的部分是来自4.1.4节的这些压缩值之一。 高两位都设置为1,其余的值指向被引用的响应中的字节。 在这种情况下,字节12(0x00c)显示为“www.the_nacketgeek.com”(这是问题部分中的QNAME)。