当我对本地主机(在 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 地址的完整表示法::1
是0000: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, 100
或1-100