hostsファイルとは?

hostsファイルは、コンピューター上のホスト名をIPアドレスに対応付けるプレーンテキストファイルです。システムはDNSサーバーに問い合わせる前にこのファイルを確認するため、ファイル内の行によってDNSの応答が上書きされます。開発者は、myapp.test のようなdomainを自分のコンピューターやステージングサーバーに割り当てるために使用し、ユーザーはサイトを 0.0.0.0 に向けることでブロックするために使用します。各行には1つのIPアドレスと、それに続く1つ以上のホスト名が記述され、# より後ろはコメントとして扱われます。

システム 場所
Windows C:\Windows\System32\drivers\etc\hosts
macOS /etc/hosts/private/etc/hosts も可)
Linux、BSD /etc/hosts
Android(root) /system/etc/hosts

ツールの説明

このツールを使うと、フォーム上でhostsファイルを編集できます。hostsファイルを貼り付けると、各エントリがIPアドレス、ホスト名、コメントを含むカードとして表示されます。エントリをオフにすると、そのエントリは # でコメントアウトされ、再びオンにすると # が削除されます。エントリの追加、変更、削除を行うと、テキストはすぐに書き換えられます。変更していないコメント、空行、行間の空白は元の状態で保持されます。完了したら、テキストをコピーするか、hosts というファイル名でダウンロードできます。すべての処理はブラウザー内で行われ、hostsファイルが外部に送信されることはありません。

hostsファイルが壊れている場合は、「デフォルトのhostsファイル」でWindows、macOS、またはLinuxを選択すると、そのシステムに付属するファイルを基にやり直せます。Linuxのファイルではコンピューター名として my-computer が使われているため、自分のコンピューター名に置き換えてください。

機能

  • コメントアウトされていたエントリを検出してオフとして表示するため、ワンクリックで再びオンにできます。
  • 無効なIPアドレス、ホスト名のないエントリ、無効なホスト名を警告します。
  • よくある間違いを説明します。たとえば、example.com の代わりに https://example.com/ のようなURLを指定する、portを指定する、*.example.com のようなワイルドカードを使用する(hostsファイルはワイルドカードに対応していません)、Punycodeで記述する必要がある非ASCII文字を含む名前を使用する、IPアドレスとホスト名の順序を間違える、といったケースです。
  • ファイル内の前の行ですでに割り当てられているホスト名を警告します。システムは最初に一致したものを使用するため、後の割り当ては無視されます。名前を 127.0.0.1::1 の両方に割り当てるのは通常のことであるため、IPv4とIPv6は別々に確認されます。
  • IPアドレス、ホスト名、またはコメントでエントリを絞り込めるため、長いブロックリストの操作に役立ちます。
  • テキストの下にある整列ボタンで、ホスト名を1列に揃えられます。

次のhostsファイルから始めます。

127.0.0.1 localhost
# 127.0.0.1 myapp.test

2つ目のエントリをオンにし、そこにホスト名 api.myapp.test を追加して、ads.example.com をブロックするエントリを追加します。テキストは次のようになります。

127.0.0.1 localhost
127.0.0.1 myapp.test api.myapp.test
0.0.0.0 ads.example.com

ヒント

hostsファイルを保存するには管理者権限が必要です。Windowsでは、メモ帳を管理者として開き、テキストをファイルに貼り付けてください。macOSとLinuxでは、sudo nano /etc/hosts を実行します。

システムやブラウザーに古い応答がしばらく残ることがあります。変更をすぐに反映させるには、DNSキャッシュを消去してください。

  • Windows: ipconfig /flushdns
  • macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  • systemd-resolvedを使用するLinux: resolvectl flush-caches

プロキシ経由で接続するブラウザーでは、プロキシが名前解決を行うため、コンピューター上のhostsファイルは影響しません。