Чому мій localhost не 127.0.0.1, а :: 1, і що це? [дублікат]


62

На це питання вже є відповідь тут:

Коли я використовую команду Ping проти мого localhost (у 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 використовувати IP версії 4, -4може бути використаний варіант . Щоб змусити Windows завжди використовувати IP версію 4, IP версію 6 або деякі її компоненти можна відключити через діалогове вікно властивостей мережевого адаптера або через налаштування реєстру .


7
У відповіді Тома Війсмана ви дізнаєтесь superuser.com/questions/414050/…
Рудольф

1
Мало того, що це IPv6, але в цьому немає нічого особливого чи жорсткого localhost; він вказаний у HOSTSфайлі . Це 127.0.0.1за замовчуванням, але ви можете змінити його на все, що завгодно, або видалити його взагалі.
Synetech

1
@Synetech в Windows 7 це за замовчуванням прокоментовано приміткою:localhost name resolution is handled within DNS itself.
gronostaj

Відповіді:


90

Це відбувається тому, що ping у Windows Vista та новіших Windows використовує IPv6 за замовчуванням, коли це доступно. ::1- це скорочене позначення адреси зворотного зв’язку IPv6 - еквівалент IP-адреси зворотного зв'язку 127.0.0.1.

Повне позначення скороченої ::1адреси IPv6 є 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 .


18

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

  • Пуск, Панель управління
  • Мережа та обмін
  • Переглянути активну мережу, локальне підключення, властивості
  • Зніміть прапорець поруч із протоколом Internet Network Version 6

Якщо вам потрібні знімки екрана, тут можна знайти посібник від Microsoft: посилання .

Крім того, ви також можете переглянути сторінку Вікіпедії для IPv6, зокрема, Презентація :

Адреса localhost (петля), 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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.