Trasir 如何显示和转换 IPv6 地址?

Trasir 在“Remote Details”区域把同一个远程地址以两种形式并排显示:IPv4 点分十进制和 IPv6 冒号十六进制。以页面证据中的记录为例,它同时给出 184.192.195.13 和 ::b8c0:c30d。这不是两个不同的地址,而是同一地址的两种写法。理解这一点,就能看懂页面上这行输出,也能自己把 IPv4 换算成对应的 IPv6 形式。

Trasir 页面上这两行分别是什么

Trasir 的远程详情里,IP 地址字段的格式是:

IP Address   184.192.195.13 (::b8c0:c30d)
  • 括号外 184.192.195.13 是常见的 IPv4 点分十进制写法,四个字节用点分隔。
  • 括号内 ::b8c0:c30d 是 IPv6 写法,用冒号分隔的十六进制分组,:: 表示中间被压缩掉的一串零。

页面同时给出 Hostname(如 ec2-184-192-195-13.compute-1.amazonaws.com)、ISP、City、Region、Postal Code、Country、Coordinates 等字段,但这些字段在示例中多为空或仅部分有值。IP 地址这一行是理解 IPv6 显示的关键。

为什么 IPv4 地址会有一个 IPv6 形式

这是 IPv4 映射 IPv6 地址(IPv4-mapped IPv6 address)的写法。它的结构固定为:

::ffff:IPv4地址

也就是说,一个 IPv4 地址可以嵌入 IPv6 地址空间,用前缀 ::ffff: 标记“这本质上是一个 IPv4 地址”。Trasir 展示的 ::b8c0:c30d 省略了 ffff 段,是因为压缩规则允许把连续为零的分组用 :: 合并,ffff 之外的部分被压缩进了 :: 里。

手动换算:从 184.192.195.13 到 ::b8c0:c30d

换算分三步,每一步都能自己验证。

第一步:把每个十进制字节转成两位十六进制

十进制 十六进制
184 b8
192 c0
195 c3
13 0d

第二步:两两合并成 16 位分组

IPv4 的四个字节,每两个字节合成一个 16 位分组:

  • 184.192 → b8c0
  • 195.13 → c30d

第三步:写成 IPv6 形式并压缩

完整形式是 ::ffff:b8c0:c30d。按 IPv6 压缩规则,最前面连续的零分组可以用 :: 表示,ffff 段在部分展示中也会被并入压缩,于是得到页面上的 ::b8c0:c30d。

反向验证:把 b8c0 拆回 b8 和 c0,即 184 和 192;把 c30d 拆回 c3 和 0d,即 195 和 13,合起来就是 184.192.195.13。

看懂 IPv6 压缩写法的两个规则

页面上的 ::b8c0:c30d 之所以看起来和完整 IPv6 不一样,是因为用了两条标准压缩规则:

  1. 前导零可省略:每个 16 位分组里开头的零可以去掉,例如 0d 写成 d 也合法(页面保留为 0d,两种写法等价)。
  2. 连续零分组用 :: 代替:一组或多组连续的 0000 可以合并成一个 ::,但整个地址中 :: 只能出现一次。

所以 ::b8c0:c30d 展开后是 0000:0000:0000:0000:0000:ffff:b8c0:c30d,其中前五组零和 ffff 前的零被压缩掉了。

使用时要注意什么

  • 别把括号内外的地址当成两个不同的 IP。它们是同一个远程地址,只是表示法不同。
  • :: 的位置决定展开结果。同一个压缩写法在不同上下文中展开可能不同,判断时要结合完整形式或前缀(如 ::ffff:)确认。
  • 页面数据来自公开数据,且页面自己声明不保证准确。IP 归属、地理位置等字段可能为空或不精确,IPv6 显示本身是格式转换,不增加额外信息。
  • 页面没有提供额外的转换工具或历史记录入口。IPv6 形式是随 IP 地址一起展示的,不是单独功能。

如果你的目的是核对某个 IPv4 地址对应的 IPv6 写法,按上面的三步换算即可;如果只是想读懂 Trasir 页面上的那一行,记住“括号内是同一地址的 IPv6 压缩写法”就够了。

trasir.com
Reveal local settings, search DNS data, convert IPv6, and more.