Dlaczego mój localhost nie jest 127.0.0.1, ale :: 1 i co to za notacja? [duplikować]

62

Kiedy używam polecenia Ping w stosunku do mojego lokalnego hosta (w systemie Windows Vista), nie pojawia się on jako 127.0.0.1.

C: \ Windows \ system32> ping localhost
Pinging GIGA [:: 1] z :: 1 z 32 bajtami danych:

tenis stołowy

Zamiast tego pojawia się jako ::1(para dwukropków i jeden). Co to za notacja? I dlaczego nie wyświetla się jako 127.0.0.1?

Oto, co widzę w c:\windows\system32\drivers\etc\hostspliku.

:: 1 localhost
127.0.0.1 localhost

Zgodnie z sugestią Gregga próbowałem już zmienić tę kolejność.

127.0.0.1 localhost
:: 1 localhost

Oczekiwany wynik jest 127.0.0.1wyższy niż wcześniej, ::1ale tak nie było.

Jak się dowiedziałem, można to zrobić, dodając zamiast tego zasadę prefiksu. Aby zmusić cmd do używania wersji IP 4, -4można użyć tej opcji . Aby zmusić system Windows do korzystania z IP w wersji 4, IP w wersji 6 lub niektóre z jego składników można wyłączyć w oknie dialogowym właściwości karty sieciowej lub poprzez modyfikację rejestru .

Samir
źródło
7
W odpowiedzi Toma Wijsmana dowiesz się superuser.com/questions/414050/…
Rudolph
1
Jest to nie tylko IPv6, ale nie ma w tym nic specjalnego ani twardego localhost; jest określony w HOSTSpliku . Jest to 127.0.0.1domyślnie, ale możesz zmienić to, co chcesz, lub całkowicie go usunąć.
Synetech
1
@Synetech na Windows 7 jest domyślnie skomentowany z notatką:localhost name resolution is handled within DNS itself.
gronostaj

Odpowiedzi:

90

Wynika to z faktu, że ping w systemie Windows Vista i nowszym systemie Windows domyślnie korzysta z protokołu IPv6 , jeśli jest dostępny. ::1jest skróconą notacją adresu sprzężenia zwrotnego IPv6 - odpowiednika sprzężenia zwrotnego IPv4 127.0.0.1.

Pełna notacja skróconego ::1adresu IPv6 to 0000:0000:0000:0000:0000:0000:0000:0001.

Jeśli chcesz wymusić pingużycie IPv4 zamiast tego, możesz podać adres IPv4 jawnie lub skorzystać z -4opcji.

ping 127.0.0.1
ping -4 localhost

Jeśli chcesz ogólnie zmienić preferencje IPv6 / IPv4, możesz sprawdzić priorytet IPv4 względem IPv6 w systemie Windows 7 .

Aby uzyskać dodatkowe informacje, możesz również zobaczyć artykuł localhost .

pabouk
źródło
18

[::1]jest skrótem dla adresu pętli zwrotnej w IPv6. Jeśli z jakiegoś powodu chcesz wyłączyć IPv6 ( nie radzę, ale możesz mieć konkretny powód, dla którego chcesz go chcieć), wszystko, co musisz zrobić, to: (w przypadku systemu Windows 7):

  • Start, Panel sterowania
  • Sieć i udostępnianie
  • Zobacz Aktywna sieć, połączenie lokalne, właściwości
  • Odznacz pole wyboru obok Internet Network Protocol Version 6

Jeśli chcesz zrzuty ekranu, przewodnik firmy Microsoft można znaleźć tutaj: link .

Dodatkowo możesz także zajrzeć na stronę Wikipedii dotyczącą IPv6, w szczególności Prezentacja :

Adres hosta lokalnego (sprzężenie zwrotne), 0: 0: 0: 0: 0: 0: 0: 1, oraz nieokreślony adres IPv6, 0: 0: 0: 0: 0: 0: 0: 0, są redukowane do: Odpowiednio 1 i ::. To zastąpienie dwukropkiem można zastosować tylko raz w adresie, ponieważ wiele wystąpień stworzyłoby niejednoznaczną reprezentację.

Podsumowując, jest to w zasadzie odpowiednik chęci zapisania każdej liczby od 1 do 100, ale zamiast wypisywania każdej liczby osobno, zamiast tego piszesz 1, 2, 3...99, 100lub1-100

Michael H.
źródło