为什么我的本地主机不是 127.0.0.1 而是 ::1,那是什么符号?

为什么我的本地主机不是 127.0.0.1 而是 ::1,那是什么符号?

当我对本地主机(在 Windows Vista 上)使用 Ping 命令时,它不会显示为 127.0.0.1。

C:\Windows\system32>ping localhost
从 ::1 ping GIGA [::1],数据为 32 字节:

乒乓

相反,它显示为::1(一对冒号和一个 1)。这是什么样的符号?为什么它不显示为 127.0.0.1?

这是我在c:\windows\system32\drivers\etc\hosts文件中看到的内容。

::1 本地主机
127.0.0.1 本地主机

根据建议格雷格我已经尝试改变这个顺序。

127.0.0.1 本地主机
::1 本地主机

预期的结果是127.0.0.1将优先于::1但事实并非如此。

据我所知,这可以通过以下方式实现添加前缀策略。要强制 cmd 使用 IP 版本 4 -4,可以使用该选项。要强制 Windows 始终使用 IP 版本 4,可以通过网络适配器的属性对话框或通过注册表调整。

答案1

这是因为 Windows Vista 和更新版本的 Windows 上的 ping 使用IPv6默认情况下可用。::1是 IPv6 环回地址的缩写 - 相当于 IPv4 环回127.0.0.1

缩写 IPv6 地址的完整表示法::10000:0000:0000:0000:0000:0000:0000:0001

如果你想强迫ping要使用 IPv4,您可以明确指定 IPv4 地址或使用-4选项。

ping 127.0.0.1
ping -4 localhost

如果你想整体更改 IPv6/IPv4 首选项,你可以检查Windows 7 中的 IPv4 与 IPv6 优先级

欲了解更多信息,您还可以参阅文章本地主机

答案2

[::1]是 IPv6 中环回地址的简写。如果您出于某种原因想要禁用 IPv6(我会不是如果您不建议这样做,但您可能有特定的理由想要这样做),您需要做的就是执行以下操作(适用于 Windows 7):

  • 开始,控制面板
  • 网络与共享
  • 查看活动网络、本地连接、属性
  • 取消选中 Internet 网络协议版本 6 旁边的复选框

如果您想要屏幕截图,可以在此处找到 Microsoft 的指南:关联

此外,您可能还想查看 Wikipedia 中有关 IPv6 的页面,具体来说,推介会

本地主机(环回)地址 0:0:0:0:0:0:0:1 和 IPv6 未指定地址 0:0:0:0:0:0:0:0 分别缩减为 ::1 和 ::。这种双冒号替换只能在地址中使用一次,因为多次使用会产生歧义。

总而言之,这基本上相当于想要写出 1 到 100 的每个数字,但不是单独写出每个数字,而是写1, 2, 3...99, 1001-100

相关内容