与使用点分十进制记法表示的 IPv4 地址不同,IPv6 地址使用十六进制值表示。 您已经看到 Wireshark 数据包字节窗格中的十六进制。 在 Wireshark 中,十六进制用于表示帧和数据包中的二进制值。 十六进制还用于表示以太网介质访问控制 (MAC) 地址。

十六进制计数

十六进制 ("Hex") 是二进制值的一种便利表示方式。 就像十进制是以 10 为基数的计数系统一样,二进制是以 2 为基数的计数系统,十六进制是以 16 为基数的计数系统。

以 16 为基数的数制系统使用数字 0 到 9 和字母 A 到 F。 图 1 显示了数值相同的十进制、二进制和十六进制值。 有 16 个唯一四位组合,即从 0000 到 1111。 16 位的十六进制是理想的数制系统,因为任意四位均可使用单个的十六进制值表示。

字节相关知识

8 位(1 个字节)是一种常用的二进制组,从 00000000 到 11111111 的二进制可表示为从 00 到 FF 的十六进制。 前导零可以显示,从而看到完整的 8 位表示。 例如,二进制值 0000 1010 以十六进制显示为 0A。

表示十六进制值

注意:区分 0 到 9 的十六进制值与十进制值十分重要。

十六进制通常用以 0x 为前导的值(例如 0x73)或以 16 为下标的值来表示。 有时可能会在后面加一个 H,例如 73H。 但是,由于下标文字在命令行或编程环境中无法识别,因此十六进制的技术表示法以“0x”(零 X)为前导。 按照这种表示法,以上示例应分别显示为 0x0A 和 0x73。

十六进制的转换

十进制与十六进制值之间的数字可以直接转换,但快速除以或乘以 16 不一定很方便。

通过实践,可以识别与十进制及十六进制值匹配的二进制位模式。 图 2 显示了挑选的一些 8 位值的位模式。