localhost
localhost(ローカルホスト)は、コンピュータネットワークにおいて、通信の相手先として自分自身を指定するために使用するホスト名またはドメイン名である[1]。TCP/IPでは、localhostと通信するためのIPアドレス(ループバックアドレス)が予約されており、IPv4では127.0.0.0/8 、IPv6では::1/128 が割り当てられている。自分自身をローカルホストというのに対して、他者はリモートホストという。
localhostを使用して自己と通信する意義には、動作試験を行うことや、リモートで提供されることが想定されているサービスを、ローカルマシンでも利用できることなどが挙げられる。
IETFでの関連記載
[編集]IETFドキュメント"Special-Use IPv4 Addresses" (RFC 5735)には、127.0.0.0/8はループバック用に予約されたIPv4アドレスであると記載されている。
このアドレスはどの組織やISPにも割り当てられていない。このアドレスブロック'127.0.0.0/8'宛のパケットはホストシステム外へは出ない。ホストシステム内部では、ループバックインターフェースは一般的にアドレス'127.0.0.1'に対しサブネットマスク'255.0.0.0'を割り当てる。これは、ローカルシステムのルーティングテーブルにルーティングエントリー'127.0.0.0/8'を設定するので、'127.0.0.0/8'のどのアドレス宛のパケットもシステム内部にルーティングされる。
一方で、RFC 4291に記載されているIPv6アドレスアーキテクチャでは、たった1つのIPv6アドレス::1/128のみがループバックアドレスに指定されている。
RFC 4291では、以下のように述べられている:"ループバックアドレスは、単一ノードの外側に送信する IPv6パケットの送信元アドレスとして使用してはならない。ループバックの宛先アドレスを持つIPv6パケットは、単一ノードの外側に送信してはならず、IPv6ルータは転送してはならない。ループバックの宛先アドレスを持つインタフェース上で受信したパケットは落とさなければならない。"
Hack 127.0.0.1
[編集]2005年、ドイツのIRCチャンネルにおいて、スクリプトキディを欺いてlocalhostをハックさせたという逸話がインターネット・ミームとして残されている[2][3]。
注意事項
[編集]IPアドレスの逆引きでlocalhostを返すサーバもあるため、アクセス制御でlocalhostを設定する場合は注意が必要である。
脚注
[編集]- ^ “リモートホストとは - IT用語辞典”. IT用語辞典 e-Words. 2023年12月29日閲覧。
- ^ “Hack 127.0.0.1”. Know Your Meme. 2021年5月29日閲覧。
- ^ “【実話】127.0.0.1をハッキングした男”. Qiita. 2021年5月29日閲覧。