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

Sam*_*mir 66 networking windows ping localhost cmd.exe

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

C:\Windows\system32>ping localhost
Ping GIGA [::1] from ::1 with 32 bytes of data:

乒乓

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

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

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

正如Gregg所建议的,我已经尝试过更改此顺序。

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

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

正如我现在了解到的,这可以通过添加前缀策略来完成。要强制 cmd 使用 IP 版本 4,-4可以使用该选项。要强制 Windows 始终使用 IP 版本 4、IP 版本 6 或其某些组件,可以通过网络适配器的属性对话框或通过注册表调整来禁用。

pab*_*ouk 93

这是因为 Windows Vista 和更新的 Windows 上的 ping默认使用IPv6(如果可用)。::1是 IPv6 环回地址的缩写,相当于 IPv4 环回127.0.0.1

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

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

ping 127.0.0.1
ping -4 localhost
Run Code Online (Sandbox Code Playgroud)

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

有关其他信息,您还可以查看localhost 一文


Saw*_*wta 18

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

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

如果您需要屏幕截图,可以在此处找到 Microsoft 的指南:链接

此外,您可能还想查看 IPv6 的维基百科页面,特别是Presentation

本地主机(环回)地址 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