Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

hostsファイル(ホスツファイル)とは | 意味や読み方など丁寧でわかりやすい用語解説

hostsファイル(ホスツファイル)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ホストファイル (ホストファイル)

英語表記

hosts file (ホスツファイル)

用語解説

hostsファイルは、コンピュータのオペレーティングシステム(OS)が持つ、ホスト名とIPアドレスの対応関係を定義したテキストファイルである。コンピュータがインターネット上のサーバーや他のコンピュータと通信する際には、人間が覚えやすいドメイン名(例: www.example.com)を、コンピュータが理解できるIPアドレス(例: 192.0.2.1)に変換する「名前解決」という処理が必要不可欠である。この名前解決は通常、DNS(Domain Name System)サーバーへの問い合わせによって行われるが、hostsファイルはこのDNSよりも優先して参照されるという重要な特徴を持つ。つまり、hostsファイルに特定のドメイン名とIPアドレスの対応が記述されている場合、コンピュータはDNSサーバーに問い合わせることなく、その記述に従って通信を行う。この仕組みを利用することで、Webサイトの開発やテスト、特定のサイトへのアクセス制御などを柔軟に行うことが可能となる。

コンピュータが特定のホスト名に対して通信を開始しようとすると、まず自身のhostsファイル内にそのホスト名に対応する記述が存在するかを確認する。もし該当する記述が見つかれば、そこに指定されたIPアドレスを通信相手として即座に確定させる。該当する記述が存在しない場合に限り、初めてOSは設定されたDNSサーバーへ問い合わせを行い、IPアドレスを取得する。この「hostsファイルがDNSに優先する」という動作順序が、このファイルの機能の根幹をなしている。この優先順位を利用すれば、DNSサーバーに登録されている本来のIPアドレスとは異なる、任意のIPアドレスへアクセスを誘導することができるのである。ファイル自体は単純なテキスト形式であり、メモ帳やviなどのテキストエディタで直接編集することが可能だ。記述形式は非常にシンプルで、1行に1つの対応関係を記述する。基本的な書式は「IPアドレス」と「ホスト名」をスペースやタブで区切って並べる形となる。例えば、「192.168.1.10 test.server.local」と記述すれば、このコンピュータから「test.server.local」への通信はすべて「192.168.1.10」というIPアドレス宛に行われるようになる。また、行の先頭に「#」記号を付けることで、その行はコメントとして扱われ、OSによる解釈の対象外となる。このコメント機能は、設定の意図をメモしたり、一時的に特定の記述を無効化したりする際に活用される。

hostsファイルの存放場所はOSによって異なる。Windows環境では、通常「C:\Windows\System32\drivers\etc\hosts」に配置されている。一方、macOSやLinuxといったUnix系のOSでは、「/etc/hosts」が標準的なパスである。このファイルはシステムのネットワーク設定に関わる重要なファイルであるため、編集するには管理者権限(WindowsではAdministrator権限、macOS/Linuxではroot権限)が必要となる。これは、悪意のあるソフトウェアによる不正な書き換えや、ユーザーの誤操作による意図しない設定変更を防ぐためのセキュリティ上の措置である。

システム開発の現場において、hostsファイルは極めて有用なツールとして活用される。例えば、まだ公開されていない開発中のWebサイトを、本番環境と同じドメイン名でテストしたい場合にその真価を発揮する。開発用サーバーのIPアドレスと本番用のドメイン名をhostsファイルに記述することで、開発者のコンピュータからそのドメイン名にアクセスした際に、DNSを介さず直接開発用サーバーに接続させることができる。これにより、本番環境に一切影響を与えることなく、本番と限りなく近い状態でアプリケーションの動作確認や表示テストを行うことが可能になる。また、特定のWebサイトへのアクセスを意図的に遮断する目的でも利用される。広告配信サーバーや悪意のあるサイトのドメイン名を、自身のコンピュータを指すループバックアドレス(127.0.0.1)に対応付けることで、それらのサイトへの通信要求が外部に出ることなく自己完結し、結果としてアクセスをブロックできる。この原理を利用した広告ブロックツールも存在する。

hostsファイルを扱う際には、いくつかの注意点が存在する。第一に、前述の通り、編集には管理者権限が必要である。第二に、ファイルを編集・保存しても、その変更が即座に反映されない場合がある。これはOSが名前解決の結果を一時的に保存する「DNSキャッシュ」の仕組みによるもので、変更を確実に反映させるためには、OSが提供するコマンドでキャッシュをクリアするか、コンピュータを再起動する必要がある。第三に、記述内容の正確性が求められる。IPアドレスやホスト名を誤って記述すると、目的のサイトにアクセスできなくなるだけでなく、セキュリティ上のリスクを生む可能性もある。特に、開発目的で設定を変更した後は、作業完了後に必ず元の状態に戻すか、該当の記述をコメントアウトすることを忘れてはならない。これを怠ると、後日、本来のWebサイトにアクセスできなくなるというトラブルの原因となる。さらに、マルウェアの中には、ユーザーを偽のWebサイト(フィッシングサイト)に誘導するために、hostsファイルを不正に書き換えるものが存在する。銀行や有名なECサイトのドメイン名を、攻撃者が用意したサーバーのIPアドレスに対応付けることで、ユーザーが気づかないうちに個人情報を窃取しようと試みる。そのため、システムの動作に不審な点がある場合は、hostsファイルに身に覚えのない記述が追加されていないか確認することも、トラブルシューティングの一環として重要である。hostsファイルは、その単純な構造とは裏腹に、システムのネットワーク動作に大きな影響を与える力を持つ。その仕組みと正しい利用方法、そして潜在的なリスクを理解することは、システムエンジニアにとって不可欠な知識の一つと言えるだろう。

関連コンテンツ