0

我正在研究 dns 并想了解这些信息,因为我无法完全理解。

标头包含以下字段:

                                1  1  1  1  1  1
  0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                      ID                       |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR|   Opcode  |AA|TC|RD|RA|   Z    |   RCODE   |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    QDCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    ANCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    NSCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    ARCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

我想知道上面的数字是什么意思。

4

1 回答 1

0

顶部的数字只是 16 位字中的位数,尽管与 RFC 系列文档一样,它们的顺序是从最高有效位最低位,而不是(更直观的)其他方式。

因此,例如,给定一个data包含该标头的八位字节数组,ID 将是:

 (data[0] << 8) | data[1]

并且 QR 位将是最重要的位data[2]

于 2016-08-09T09:13:04.107 回答