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


62

这个问题已经在这里有了答案:

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

C:\ Windows \ system32> ping localhost
从:: 1 ping GIGA [:: 1],其中包含32个字节的数据:

乒乓

相反,它显示为::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或其某些组件。


7
在汤姆·威斯曼(Tom Wijsman)的答案中,您将找到superuser.com/questions/414050/…–
鲁道夫(Rudolph),

1
不仅是IPv6,而且没有什么特别的或硬编码的localhost;它在HOSTS文件中指定。它是127.0.0.1默认设置,但是您可以将其更改为所需的值,或者将其完全删除。
Synetech

1
@Synetech在Windows 7上默认注释为注释:localhost name resolution is handled within DNS itself.
gronostaj

Answers:


90

这是因为在Windows Vista和更高版本的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

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

有关其他信息,您还可以参阅文章localhost


18

[::1]是IPv6中环回地址的缩写。如果您出于某种原因想要禁用IPv6(我建议这样做,但是您可能有特定的原因想要使用它),那么您需要做的只是以下操作(对于Windows 7):

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

如果您需要屏幕截图,可以在这里找到Microsoft的指南:link

此外,您可能还想看看IPv6的Wikipedia页面,特别是Presentation

本地主机(回送)地址0:0:0:0:0:0:0:1和未指定的IPv6地址0:0:0:0:0:0:0:0:0 1和::分别。这种两次冒号的替换只能在一个地址中应用一次,因为多次出现会造成模棱两可的表示。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.