相关疑难解决方法(0)

为什么 IPv6 地址中有一个百分号“%”?

我正在使用这些.NET Framework类来获取我机器的 IP 地址。

Dns.GetHostAddresses(Dns.GetHostName())
Run Code Online (Sandbox Code Playgroud)

我有一个 VirtualBox 适配器,它同时具有 IPv4 和 IPv6 地址。使用 .NET 代码,我将 IPv6 地址作为fe80::71a3:2b00:ddd3:753f%16

注意到末尾的 %16 了吗?

但是,如果我使用相同的查询WMI,我得到的地址为'fe80::71a3:2b00:ddd3:753f'

那么,%16 有什么特殊意义吗?

编辑:

我只是对此有更多的观察。它们与斯蒂芬詹宁斯在他的回答中所说的非常吻合。

我安装了 Vmware 以查看它发出的 IPv6 地址。地址是:fe80::3dd0:7f8e:57b7:34d5%19

fe80::b059:65f4:e877:c40%20

显然,% 之后的数字不是某种十六进制表示。我使用 Wmi 检查了网络适配器的所有可用属性,发现这些数字与每个网络适配器的 InterfaceIndex 属性完全相同。根据MSDN,它唯一标识每个网络适配器,这个属性是在 Vista 中引入的。

仍然让我感到困惑的是,为什么 IPAddress 类允许您以该格式创建 IP 地址,除非它有效。斯蒂芬提供了答案。数字是范围 ID。IPAddress 有一个接受地址和范围 ID 的构造函数。

哦,所有这三个网络适配器都是本地链接。通过 ipconfig 确认

凉爽的。那很有趣!!

ipv6

149
推荐指数
3
解决办法
11万
查看次数

使用 IPv6 时如何避免暴露我的 MAC 地址?

在我的 Mac 上,每个 IPv6 地址都包含特定计算机(不是我的路由器)的 MAC 地址。诸如ipv6-test.com 之类的网站不仅显示它,而且还告诉我它属于 Apple 计算机。

这感觉就像一个超级 cookie,也可能适用于其他操作系统。如何避免暴露我的 MAC 地址?

背景:MAC 地址并不明显。喜欢2001:0db8:1:2:60:8ff:fe52:f9d8

  • 取最后 64 位(主机标识符)并添加前导零:0060:08ff:fe52:f9d8
  • ff:fe从中间剥离零件。如果这些字节不存在,那么就没有 MAC 地址。
  • 对于第一个字节:补第二个低位(通用/本地位;如果该位为 1,则设为 0,如果为 0,则设为 1)。所以:0x00(00000000) 变成0x02(00000010)。
  • Presto:60:8ff:fe52:f9d8转换回 MAC 地址02:60:08:52:f9:d8

注意:自 macOS 10.12 Sierra 起,据 Ars Technica 称,Apple 采用了一种新方法来生成不基于 MAC 地址的稳定地址, Windows 显然已经这样做了多年。


这个问题是本周超级用户问题
阅读博客条目以了解更多详细信息或自己为博客做出贡献

mac-address privacy ipv6

147
推荐指数
1
解决办法
5万
查看次数

可以跟踪MAC地址吗?

电脑的MAC地址可以追溯到电脑的序列号吗?

我有试图侵入我的无线路由器的 MAC 地址。知道计算机的序列号可能会帮助我找到所有者。这可能吗?

mac-address

8
推荐指数
2
解决办法
6万
查看次数

标签 统计

ipv6 ×2

mac-address ×2

privacy ×1