Networking 数据包字节中的点字符是如何表示的?

Networking 数据包字节中的点字符是如何表示的?,networking,byte,wireshark,packet,Networking,Byte,Wireshark,Packet,如果我们用wireshark捕获DNS数据包,我们可以在其字节中看到域名,在本例中为tools.kali.org: 十六进制的字节是746f6f6c73046b616c69036f726700,我们可以使用ascii表检查74如何对应字符“t”,以及6f如何对应字符“o”等等。当我们到达点字符时,问题就出现了,点字符应该用十六进制表示为2e,但是,在第一次出现时用04表示,在第二次出现时用03表示。 为什么会发生这种情况?wireshark如何知道如果它们是不同的值,它必须表示一个点 不表示点

如果我们用wireshark捕获DNS数据包,我们可以在其字节中看到域名,在本例中为
tools.kali.org

十六进制的字节是
746f6f6c73046b616c69036f726700
,我们可以使用ascii表检查
74
如何对应字符“t”,以及
6f
如何对应字符“o”等等。当我们到达点字符时,问题就出现了,点字符应该用十六进制表示为
2e
,但是,在第一次出现时用
04
表示,在第二次出现时用
03
表示。
为什么会发生这种情况?wireshark如何知道如果它们是不同的值,它必须表示一个点

不表示点。点是一种文本表示,用于分隔标签,因此它们不会出现在数据包中

每个标签表示为一个八位字节长度字段,后跟该字段 八位字节数

-IETF RFC 1035

tools有5个字节,kali有4个,org有3个。这只是巧合,他们就是那个序列