Warum ist mein localhost nicht 127.0.0.1 sondern :: 1, und was ist das für eine Notation? [Duplikat]


62

Wenn ich den Ping-Befehl für meinen localhost (unter Windows Vista) verwende, wird er nicht als 127.0.0.1 angezeigt.

C: \ Windows \ system32> ping localhost
Ping GIGA [:: 1] von :: 1 mit 32 Datenbytes:

Tischtennis

Stattdessen wird es als ::1(Doppelpunktpaar und Eins) angezeigt. Was ist das für eine Notation? Und warum wird es nicht als 127.0.0.1 angezeigt?

Folgendes sehe ich in der c:\windows\system32\drivers\etc\hostsDatei.

:: 1 localhost
127.0.0.1 localhost

Wie von Gregg vorgeschlagen, habe ich bereits versucht, diese Reihenfolge zu ändern.

127.0.0.1 localhost
:: 1 localhost

Das erwartete Ergebnis ist, dass 127.0.0.1dies Vorrang haben würde, ::1aber das war nicht der Fall.

Wie ich jetzt erfahren habe, kann dies stattdessen durch Hinzufügen einer Präfixrichtlinie erfolgen. Um zu erzwingen, dass cmd die IP-Version 4 verwendet, kann die Option -4verwendet werden. Um zu erzwingen, dass Windows immer IP Version 4 verwendet, können IP Version 6 oder einige seiner Komponenten über das Eigenschaftsdialogfeld für den Netzwerkadapter oder über eine Registrierungsoptimierung deaktiviert werden.


7
In Tom Wijsmans Antwort finden Sie heraus, superuser.com/questions/414050/…
Rudolph

1
Dies ist nicht nur IPv6, sondern es ist auch nichts Besonderes oder Hartcodiertes dabei localhost. es ist in der HOSTSDatei angegeben . Es ist 127.0.0.1standardmäßig, aber Sie können es ändern , was Sie wollen, oder ganz entfernen.
Synetech

1
@Synetech unter Windows 7 ist standardmäßig mit einem Hinweis localhost name resolution is handled within DNS itself.
auskommentiert

Antworten:


90

Dies liegt daran, dass Ping unter Windows Vista und neueren Windows standardmäßig IPv6 verwendet, sofern verfügbar. ::1ist eine verkürzte Notation der IPv6-Loopback-Adresse - äquivalent zu IPv4-Loopback 127.0.0.1.

Die vollständige Notation der abgekürzten ::1IPv6-Adresse lautet 0000:0000:0000:0000:0000:0000:0000:0001.

Wenn Sie die pingVerwendung von IPv4 erzwingen möchten, können Sie die IPv4-Adresse explizit angeben oder die -4Option verwenden.

ping 127.0.0.1
ping -4 localhost

Wenn Sie die IPv6 / IPv4-Voreinstellungen insgesamt ändern möchten, können Sie die Priorität von IPv4 gegenüber IPv6 in Windows 7 überprüfen .

Weitere Informationen finden Sie auch im Artikel localhost .


18

[::1]ist eine Abkürzung für die Loopback-Adresse in IPv6. Wenn Sie IPv6 aus irgendeinem Grund deaktivieren möchten (ich würde es nicht empfehlen, aber Sie können einen bestimmten Grund dafür haben), müssen Sie nur Folgendes tun (für Windows 7):

  • Start, Systemsteuerung
  • Netzwerk und Freigabe
  • Anzeigen des aktiven Netzwerks, der LAN-Verbindung und der Eigenschaften
  • Deaktivieren Sie das Kontrollkästchen neben Internet Network Protocol Version 6

Wenn Sie Screenshots möchten, finden Sie hier eine Anleitung von Microsoft: Link .

Darüber hinaus möchten Sie möglicherweise auch einen Blick auf die Wikipedia-Seite für IPv6 werfen, insbesondere Präsentation :

Die Localhost-Adresse (Loopback-Adresse) 0: 0: 0: 0: 0: 0: 1 und die nicht angegebene IPv6-Adresse 0: 0: 0: 0: 0: 0: 0: 0: 0: 0 werden auf Folgendes reduziert: 1 bzw. ::. Diese Ersetzung durch zwei Doppelpunkte kann nur einmal in einer Adresse angewendet werden, da mehrere Vorkommen zu einer mehrdeutigen Darstellung führen würden.

Zusammenfassend ist dies im Grunde das Äquivalent zu dem Wunsch, jede Zahl von 1 bis 100 zu schreiben, aber anstatt jede Zahl einzeln zu schreiben, schreiben Sie stattdessen 1, 2, 3...99, 100oder1-100

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.