hostsファイルとは
hostsファイルは、TCP/IPネットワークにおいて、
ホスト名と
IPアドレスの対応を記述したテキストファイルです。
コンピュータがネットワーク上の他の機器と通信する際に、
ホスト名(例:www.example.com)を対応する
IPアドレス(例:192.168.1.1)に変換する(名前解決)ために使われます。
歴史と役割の変化
インターネット黎明期には、集中管理されたhostsファイルを各ノードがコピーして使用する運用が一般的でした。しかし、DNS(
Domain Name System)の登場により、hostsファイルはローカルな設定や一時的な対応に使用されることが多くなりました。現在では、DNSが名前解決の主要な役割を担っています。
ファイルの書式
hostsファイルはテキスト形式で、各行は以下の書式で記述します。
IPアドレス ホスト名1
ホスト名2 ...
以下はhostsファイルの例です。
127.0.0.1 localhost
211.115.107.162 ja.wikipedia.org commons.wikimedia.org
この例では、localhostは127.0.0.1、ja.wikipedia.orgとcommons.wikimedia.orgは211.115.107.162に対応していることを示しています。
動作原理
アプリケーションがネットワーク通信を行う際、リゾルバライブラリがhostsファイルを読み込み、記述された内容に基づいて
ホスト名と
IPアドレスの相互変換を行います。hostsファイルを変更した場合、変更を反映するためにアプリケーションの再起動が必要になることがあります。
hostsファイルの主な用途
現在、hostsファイルの主な用途は以下の通りです。
- - 起動時の必須ホスト名: DNSを参照する前に、オペレーティングシステムが自身のホスト名(localhostなど)を解決するために使用されます。OSインストール時に、初期設定として記述されることが一般的です。
- - DNS不調時の代替: DNSが利用できない場合、hostsファイルに直接IPアドレスを記述することで、特定のホストにアクセスできます。ただし、外部ホストのIPアドレスは変動する可能性があるため、恒久的な使用は推奨されません。
- - ウイルス対策ソフト: 一部のアンチウイルスソフトは、メールスキャンなどのためにhostsファイルを一時的に変更することがあります。これは、クライアントとサーバ間の通信を仲介することで、マルウェアを検知するためのものです。
- - NISマップ: ネットワーク情報サービス(NIS)を使用している場合、NISサーバが配布する情報をhostsファイルに保持することがあります。ただし、現代では一般的ではありません。
ファイルの格納場所
hostsファイルは、OSによって格納場所が異なります。一般的には、ファイル名は"hosts"ですが、具体的な場所はOSのドキュメントを参照してください。
類似機能との関係
hostsファイル以外に、
ホスト名と
IPアドレスの対応付けを行う機能としては、DNSやNISのhostsマップがあります。複数の方法が利用可能な場合、優先順位が問題となります。多くの
UNIXシステムでは、設定ファイルで優先順位を決定できます。WindowsではhostsファイルがDNSよりも優先して参照されます。
セキュリティ上の注意点
マルウェアがhostsファイルを書き換えて、ユーザを不正なウェブサイトに誘導する(ファーミング詐欺)ことがあります。これは、hostsファイルがDNSよりも優先されることを利用したものです。対策としては、以下の方法が考えられます。
- - hostsファイルの書き込みを禁止する(ただし、管理者権限を持つマルウェアには無効)。
- - hostsファイルの変更を監視するセキュリティソフトを利用する。
- - hostsファイルの内容を定期的にチェックする。
- - オンラインショッピングやバンキングサイトでは、アクセス先のサーバが正規のものか確認する。
まとめ
hostsファイルは、TCP/IPネットワークにおける基本的な設定ファイルであり、その歴史的背景から現代的な利用方法まで幅広い側面を持っています。DNSが主流となった現在でも、ローカルな設定やトラブルシューティングなど、重要な役割を担っています。セキュリティ上のリスクを理解し、適切に管理することが重要です。