0.0.0.0

半保護ページ

インターネットプロトコルバージョン4(IPv4)アドレス0.0.0.0は複数の用途に使用できます

用途

送信パケット

IPアドレスを世界的に割り当てるIANAは、 RFC 1122のセクション3.2.1.3に単一のIPアドレス0.0.0.0を割り当てています。 [ 1 ]送信パケットの場合、送信元IPアドレス0.0.0.0は「このネットワーク上のこのホスト」を意味します。[ 2 ] 

RFC 1122では、0.0.0.0を{0,0}という表記で表しています。IPv4では、このアドレスを宛先アドレスとして使用することは禁止されており、ホストが自身のアドレスを取得しようとする初期化プロセス中の送信元アドレスとしてのみ許可されています。[ 3 ]ホストの初期化プロセスについては、 BOOTPRFC 951)またはDHCPRFC 2131 )を参照してください。   

BOOTPブート要求では、クライアントは自身の既知のIPアドレスを送信元として入力します。アドレスが不明な場合は0.0.0.0を入力します。 [ 4 ]

DHCPでは、ホストは、DHCPを使用する際に最初のDHCPDISCOVERパケットを送信するときなど、まだアドレスが割り当てられていないときに、IPの送信元アドレスとして0.0.0.0を使用することができます。[ 5 ]この使用法は、最近のオペレーティングシステムではAPIPAメカニズムに置き換えられています。

送信元アドレスとしての使用に制限されており、宛先アドレスとしての使用は禁止されているため、アドレスを0.0.0.0に設定すると、ターゲットが利用不可でルーティング不可能であることを明示的に指定します。[ 6 ]この方法は、DNSベースの広告ブロックにも有効です。例えば、/etc/hostsファイルに次の行を追加すると0.0.0.0 badsite.example、badsite.exampleが無効/使用不可のホスト(0.0.0.0)にマッピングされます。0.0.0.0は送信元アドレスでありルーティング不可能であるため、badsite.exampleへの接続は失敗します。[ 7 ]

バインディング

RFC 1122では送信元アドレスのみと定義されているため、オペレーティングシステムは宛先アドレスが 0.0.0.0 であるパケットがループバックインターフェースを介して送信されること、つまりシステムから出ないことを保証します。[ 8 ] Linuxでは、リモートアドレスとして0.0.0.0 を指定したプログラムは、実際には現在のホスト(別名localhost)に接続します。[ 8 ]この動作はLinuxカーネルの実装によって発生します。宛先アドレスが 0.0.0.0 のパケット(RFC 1122によれば宛先アドレスがないものとして扱われる)に遭遇するたびに、カーネルは送信元アドレスを 0.0.0.0 の宛先アドレスに置き換えます。[ 9 ]このカーネルアドレス置き換えプロセスは、 RFC 1122のセクション 4.2.4.4 Multihomingの指示に従います。[ 10 ]

WindowsとLinuxの両方でのバインドでは、ホストのIPアドレスのどれをソースIPとして使用するかを選択する際に、プログラムはINADDR_ANY(0.0.0.0)を指定できます。[ 11 ] [ 12 ]プログラムが0.0.0.0にバインドすると、ローカルホスト(127.0.0.1)、LAN IP(例:192.168.xx)、パブリックIP(設定されていてファイアウォールが許可している場合)からの接続が受け入れられますが、127.0.0.1にバインドすると、同じマシンからの接続のみが受け入れられます。[ 13 ]

ルーティング

ルーティングテーブルでは、ゲートウェイ列に0.0.0.0が表示されることもあります。これは、宛先がローカルインターフェースから直接到達可能であり、ネクストホップルーター(ゲートウェイ)を必要としないことを示します。[ 14 ]

CIDR表記0.0.0.0 / 0は、すべてのIPアドレスを含むIPブロックを定義します。ルーティングにおいて、デフォルトルートを宛先サブネットとして表すためによく使用されます。これはIPv4アドレス空間内のすべてのアドレスに一致し、ほとんどのホストに存在し、ローカルルーターに向けられています。[ 15 ]

IPv6では

IPv6では、すべてゼロのアドレスは通常::(コロン2つ)で表され、これは0000:0000:0000:0000:0000:0000:0000:0000の短縮表記です 。[ 16 ] IPv6の亜種は、IPv4の対応するものと同じ目的を果たします

0.0.0.0 日のエクスプロイト

2024年8月、イスラエルのサイバーセキュリティ企業Oligoの研究者は、セキュリティ上の欠陥が悪用されていることを発見したと発表しました。この欠陥により、標的のウェブブラウザからの悪意のあるリクエストが、標的の0.0.0.0アドレスの任意のポートに到達できるようになり、ブラウザ(ひいてはリモート攻撃者)がプライベートリソースにアクセスできるようになります。リスニングするように設定されているソフトウェアによっては、攻撃者は社内情報や開発者コードを盗み出したり、ソフトウェアのAPIにリクエストを発行したりする可能性があります。[ 17 ] [ 18 ]

参照

参考文献

  1. ^ 「IANA IPv4 Special-Purpose Address Registry」 . Internet Assigned Numbers Authority . 2009年8月19日. 2023年6月7日閲覧
  2. ^ IETF 1989、p. 29、3.2.1.3 アドレス指定: RFC-791 セクション 3.2。
  3. ^ IETF 1989、30ページ、3.2.1.3 アドレス指定: RFC-791 セクション3.2「(a) {0, 0}」。
  4. ^ 「RFC 951 ブートストラッププロトコル」 . datatracker.ietf.org . pp. 3. パケットフォーマット. 2025年7月12日閲覧
  5. ^ 「RFC 2131: 動的ホスト構成プロトコル」。4.1 DHCPメッセージの構築と送信。
  6. ^ 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 アドレスはありません。
  7. ^ Kitt, Stephen (2022年11月19日). 「Linuxで0.0.0.0:443にアクセスすると127.0.0.1:443にリダイレクトされる理由と、それを禁止する方法」 . Stack Exchange . 2023年6月7日閲覧
  8. ^ a b Kitt, Stephen (2018年1月26日). 「IP 0.0.0.0への接続は成功します。どうしてでしょうか?なぜでしょうか?」 . Stack Exchange . 2023年6月7日閲覧
  9. ^ 「Linuxカーネルソースコード: net/ipv4/route.c」 . elixir.bootlin.com . 2742行目.
  10. ^ IETF 1989、p. 108、4.2.4.4 マルチホーミング、実装。
  11. ^ Kerrisk, Michael (2021年3月22日). 「ip(7) — Linuxマニュアルページ」 . man7.org . 2023年6月7日閲覧
  12. ^ 「bind関数(winsock.h) - Win32アプリ」 . Microsoft Learn . 2022年8月19日. 2023年6月7日閲覧
  13. ^ Postill, David (2015年8月2日). 「127.0.0.1と0.0.0.0の違いは何ですか?」 . Stack Exchange . 2023年6月7日閲覧
  14. ^ Henry-Stocker, Sandra (2013年8月4日). 「Unix:ここからそこへ(ルーティングの基本)」 . Network World . 2023年6月7日閲覧
  15. ^ Abraham, Tim (2020). Metabase Up and Running 企業にビジネスインテリジェンスとアナリティクスを導入し、より良いビジネス上の意思決定を行う(第1版).
  16. ^ Das, Kaushik (2008). 「IPv6 Addressing」 . ipv6.com . 2015年4月11日時点のオリジナルよりアーカイブ2023年6月7日閲覧。
  17. ^ブリュースター、トーマス(2024年8月7日)「ハッカーがSafari、Chrome、Firefoxに存在する18年前の『0.0.0.0-Day』ループホールを悪用」 Forbes . 2024年8月8日閲覧
  18. ^ Lyons, Jessica (2024年8月9日). 「2024年になり、ブラウザによる安全でないアクセスを阻止する作業がようやく進み始めたところです」 . The Register . 2025年5月25日閲覧

引用文献