web-dev-qa-db-ja.com

なぜ私のローカルホストは127.0.0.1ではなく:: 1ではないのですか。

ローカルホストに対してPingコマンドを使用した場合(Windows Vistaの場合)、127.0.0.1と表示されません。

C:\ Windows\system32> ping localhost
32バイトのデータで:: 1からGIGA [:: 1]をpingします。

ping pong

代わりに、::1(コロンのペアと1のペア)として表示されます。これはどんな表記ですか。そして、なぜそれが127.0.0.1として表示されないのですか?

これがc:\windows\system32\drivers\etc\hostsファイルにあります。

 :: 1 localhost 
 127.0.0.1 localhost 

Gregg で示唆されているように、私はすでにこの順序を変更しようとしました。

 127.0.0.1 localhost 
 :: 1 localhost 

期待される結果は、127.0.0.1::1よりも優先されることですが、そうではありませんでした。

私が今学んだように、これは 代わりに プレフィックスポリシーを追加することによって行うことができます。 cmdにIPバージョン4を使用させるには、オプション-4を使用できます。 Windowsが常にIPバージョン4を使用するようにするには、ネットワークアダプタのプロパティダイアログまたは registry Tweakを使用して、IPバージョン6またはその一部のコンポーネントを無効にします。

59
Samir

これは、Windows Vistaおよびそれ以降のWindowsでのpingでは、使用可能な場合、デフォルトで IPv6 が使用されるためです。 ::1は、IPv6ループバックアドレスの短縮表記です - IPv4ループバック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設定を変更したい場合は、Windows 7で IPv4とIPv6の優先順位を確認できます

追加情報については、記事 localhost も参照できます。

89
pabouk

[::1]は、IPv6のループバックアドレスの省略形です。何らかの理由でIPv6を無効にしたい場合は(notしたくありませんが、特定の理由がある場合もあります)以下(Windows 7の場合):

  • スタート、コントロールパネル
  • ネットワークと共有
  • アクティブネットワーク、ローカルエリア接続、プロパティの表示
  • インターネットネットワークプロトコルバージョン6の横にあるチェックボックスをオフにします。

スクリーンショットをご希望の場合は、Microsoftのガイドがここにあります。 リンク

さらに、IPv6のWikipediaページ、特に プレゼンテーション もご覧ください。

ローカルホスト(ループバック)アドレス、0:0:0:0:0:0:0:0:1、およびIPv6未指定アドレス0:0:0:0:0:0:0:0:0は::に短縮されます。それぞれ1と::。この2コロン置換は、アドレス内で1回しか適用できません。複数回出現すると、あいまいな表現になるためです。

要約すると、これは基本的に1から100までのすべての数字を書きたいということと同じですが、代わりにすべての数字を個別に書き出すのではなく、代わりに1, 2, 3...99, 100または1-100と書きます。

17
Michael H