57

Когда я использую команду Ping для своего локального хоста (в Windows Vista), она не отображается как 127.0.0.1.

C:\Windows\system32> ping localhost
Pinging GIGA [::1] из ::1 с 32 байтами данных:

пинг-понг

Вместо этого он отображается как ::1 (пара двоеточий и единица). Что это за нотация? И почему он не отображается как 127.0.0.1?

Вот что я вижу в файле c:\windows\system32\drivers\etc\hosts .

::1             localhost
127.0.0.1       localhost

По предложению Грегга я уже пытался изменить этот порядок.

127.0.0.1       localhost
::1             localhost

Ожидаемый результат заключается в том, что 127.0.0.1 будет иметь приоритет над ::1 но это не так.

Как я узнал сейчас, это можно сделать, добавив вместо этого политику префикса. Чтобы заставить cmd использовать версию 4 IP, можно использовать опцию -4 . Чтобы заставить Windows всегда использовать IP-версию 4, IP-версию 6 или некоторые ее компоненты можно отключить в диалоговом окне свойств сетевого адаптера или в настройках реестра .

2 ответа2

89

Это связано с тем, что ping в Windows Vista и более новых версиях Windows по умолчанию использует 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 в целом, вы можете проверить приоритет IPv4 по сравнению с IPv6 в Windows 7.

Для дополнительной информации вы также можете увидеть статью localhost.

17

[::1] - сокращение для петлевого адреса в IPv6. Если по какой-то причине вы хотите отключить IPv6 (я бы не советовал, но у вас может быть конкретная причина для этого), все, что вам нужно сделать, это следующее (для Windows 7):

  • Пуск, Панель управления
  • Сеть и обмен
  • Просмотр активной сети, подключение по локальной сети, свойства
  • Снимите флажок рядом с Интернет-протоколом версии 6

Если вы хотите скриншоты, руководство от Microsoft можно найти здесь: ссылка.

Кроме того, вы также можете взглянуть на страницу Википедии для IPv6, в частности, презентацию:

Адрес локального (петлевого) адреса 0:0:0:0:0:0:0:1 и неопределенный адрес IPv6 0:0:0:0:0:0:0 сокращаются до ::1 и ::соответственно. Эта замена с двумя двоеточиями может применяться только один раз в адресе, поскольку множественные вхождения могут привести к неоднозначному представлению.

Подводя итог, это в основном эквивалентно желанию написать каждое число от 1 до 100, но вместо того, чтобы писать каждое число индивидуально, вместо этого вы пишете 1, 2, 3...99, 100 или 1-100

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .