インターネットプロトコル バージョン 4アドレス0.0.0.0には複数の用途があります。
用途
正式な意味と使用法
IPアドレスを世界的に割り当てるIANAは、 RFC 1122セクション3.2.1.3 に単一のIPアドレス0.0.0.0 [1]を割り当てました。これは「このネットワーク上のこのホスト」と呼ばれます。
RFC 1122 では、0.0.0.0を{0,0} という表記で参照しています。これはIPv4の宛先アドレスとしては禁止されており、特定の状況下でのみ送信元アドレスとして許可されています。
ホストは、 DHCPの使用時に最初のDHCPDISCOVERパケットを送信するときなど、まだアドレスが割り当てられていない場合、IP 内の自身の送信元アドレスとして0.0.0.0 を使用することがあります。
オペレーティングシステム固有の用途
一部のオペレーティングシステムでは、アドレスに特別な内部的な意味が与えられています。これらの使用では、IPv4パケットに0.0.0.0が含まれることはなく、RFC 1122では規定されていません。 [2]これらの意味はオペレーティングシステム間で一貫していない可能性があります。
WindowsとLinuxの両方で、ホストのIPアドレスのどれを送信元IPとして使用するかを選択する際に、プログラムはINADDR_ANY(0.0.0.0)を指定することができます。[3] [4]
Linuxでは、プログラムは現在のホスト(別名localhost )に接続するためのリモートアドレスとして0.0.0.0を指定することができます。[2]
その他の非標準的用途
オペレーティングシステムによる内部的な使用以外にも、このアドレスにはさまざまな用途がある。[5] [6]
- 無効、不明、または該当しないターゲットを指定するために使用されるルーティング不可能なメタアドレス
- ホストの IP スタックがこれをサポートしている場合、DHCP 経由のアドレス要求が失敗したときにホストが自身に割り当てるアドレス。この使用法は、最新のオペレーティング システムではAPIPAメカニズムに置き換えられています。
- ターゲットが利用できないことを明示的に指定する方法。[7]
- リクエストを元のターゲットではなく、存在しないターゲットにルーティングする方法。広告ブロックの目的でよく使用されます。これはOS固有の動作と競合する可能性があります。[8]
ルーティング
ルーティングテーブルでは、ゲートウェイ列に0.0.0.0が表示されることもあります。これは、対応する宛先サブネットに到達するためのゲートウェイが指定されていないことを示します。これは通常、システムが宛先に直接接続されているため、中間ルーティングホップが不要であることを意味します。[9]
CIDR表記 0.0.0.0 / 0は、すべての可能なIPアドレスを含むIPブロックを定義します。これは、ルーティングで宛先サブネットとしてデフォルトルートを表すためによく使用されます。これは、IPv4アドレス空間内のすべてのアドレスに一致し、ほとんどのホストに存在し、ローカルルーターに向けられています。[10]
IPv6の場合
IPv6では、すべてゼロのアドレスは通常::(コロン2つ)で表され、これは0000:0000:0000:0000:0000:0000:0000:0000の短縮表記です 。[11] IPv6バリアントは、IPv4と同じ目的を果たします。
0.0.0.0 日のエクスプロイト
2024年8月、イスラエルのサイバーセキュリティ企業Oligoの研究者は、標的の0.0.0.0アドレスに悪意のあるリクエストを送信することで、開発者コードや内部メッセージなどのプライベートリソースにアクセスできるセキュリティ上の欠陥が発見されたと発表しました。[12]
参照
参考文献
- ^ 「IANA IPv4 Special-Purpose Address Registry」。インターネット割り当て番号局。2009年8月19日。 2023年6月7日閲覧。
- ^ ab Kitt, Stephen (2018年1月26日). 「IP 0.0.0.0への接続は成功します。どうやって?なぜ?」. Stack Exchange . 2023年6月7日閲覧。
- ^ Kerrisk, Michael (2021年3月22日). 「ip(7) — Linuxマニュアルページ」. man7.org . 2023年6月7日閲覧。
- ^ 「bind 関数 (winsock.h) - Win32 アプリ」。Microsoft Learn。2022年 8 月 19 日。2023 年6 月 7 日に閲覧。
- ^ Postill, David (2015 年 8 月 2 日). 「127.0.0.1 と 0.0.0.0 の違いは何ですか?」. Stack Exchange . 2023 年6 月 7 日閲覧。
- ^ Mitchell, Bradley (2018年12月16日). 「IPアドレスが0.0.0.0と表示されたら何を意味するのか」Lifewire . 2023年6月7日閲覧。
- ^ R. Woundy、K. Marez (2006 年 12 月)。データオーバーケーブルサービスインターフェイス仕様 (DOCSIS) 準拠ケーブルモデムおよびケーブルモデム終端システム用のケーブルデバイス管理情報ベース。ネットワークワーキンググループ。doi : 10.17487 / RFC4639。RFC 4639 。 提案された標準。p . 32。RFC 2669 は廃止されました。RFC 9141によって更新されました
。0.0.0.0 の場合、syslog 送信が禁止されているか、Syslog サーバー アドレスが IPv4 アドレスではありません。
- ^ Kitt, Stephen (2022年11月19日). 「Linuxで0.0.0.0:443にアクセスすると127.0.0.1:443にリダイレクトされる理由とそれを禁止する方法は?」. Stack Exchange . 2023年6月7日閲覧。
- ^ Henry-Stocker, Sandra (2013年8月4日). 「Unix: ここからそこへ行く方法 (ルーティングの基本)」. Network World . 2023年6月7日閲覧。
- ^ Abraham, Tim (2020)。Metabase Up and Running 企業にビジネスインテリジェンスと分析を導入し、より優れたビジネス上の意思決定を行う(第 1 版)。
- ^ Das, Kaushik (2008). 「IPv6 Addressing」. ipv6.com . 2015年4月11日時点のオリジナルよりアーカイブ。 2023年6月7日閲覧。
- ^ ブリュースター、トーマス(2024年8月7日)。「ハッカーがSafari、Chrome、Firefoxの18年前の「0.0.0.0-Day」ループホールを悪用」フォーブス。2024年8月8日閲覧。
外部リンク
- M. Cotton、 L . Vegoda、B. Haberman (2013 年 4 月)。R. Bonica (編)。特殊目的 IP アドレス レジストリ。IETF。doi : 10.17487 / RFC6890。ISSN 2070-1721。BCP 153。RFC 6890。 現在のベストプラクティス 153。RFC 4773、5156、5735、および 5736 は 廃止されました。RFC 8190 によって更新されました。
