Hosts檔案

映射主机名到IP地址的计算机文件

Hosts文件是一個沒有擴展名操作系統文件,以的形式存儲了主機名IP地址映射關係[1]。Hosts又稱host table,譯為「主機表」。現代系統中,雖然DNS取代了主機表,但主機表的應用依舊很廣[1]。和DNS不同的是,用戶可以直接對Hosts文件進行控制。

用途

Hosts文件是大多數系統都存在的一個小型主機表。Hosts文件中包含了本地網絡重要的主機名和地址信息,查詢Hosts文件得到的結果比通過查詢DNS得到的結果優先級更高。[1]

衍生用途

Hosts文件也可以用於其它情況,例如可以將已知的廣告服務器重定向到無廣告的機器(通常是本地網絡地址,如: 127.0.0.1)以過濾廣告。使用Hosts文件還可以減少對DNS服務器的查詢次數以加快訪問網站的速度。

Hosts文件的另一個重要用途就是用於攔截一些惡意網站的請求,從而防止訪問欺詐網站、感染病毒惡意軟件

在面對網絡審查的技術機制下,Hosts也被利用來處理因域名服務器緩存污染而對訪問域名的地址解析進行修正,或者涉及域名與IP地址關係的技術調整等。

歷史

最初在Internet的前身ARPANET中,其成員SRI International手動維護並分享了一個名為HOSTS.TXT的文件,其中就包括主機名稱和對應地址。1983年DNS系統開始開發,1984年得到了發展[2]。在網絡快速的發展過程中,可以自動提供動態的主機名解析。不過在現代操作系統中,Hosts文件仍然是一個可以作為備用手段的名稱解析機制。

平台差異

Hosts文件在不同操作系統中的位置如下表所示:

操作系統 版本 路徑
Unix類Unix系統(例如Linux等) /etc/hosts
Microsoft Windows 3.1 %WinDir%\HOSTS
9598ME %WinDir%\hosts
NT2000XP2003Vista
20087201288.11011
%SystemRoot%\System32\drivers\etc\hosts
Windows MobileWindows Phone 註冊表HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts
Apple Macintosh 9或更早版本 PreferencesSystem目錄中
Mac OS X 10.0–10.1.5 通過NetInfoniload設置
Mac OS X 10.2和更新版本 /etc/hosts(指向/private/etc/hosts符號鏈接
Novell NetWare SYS:etc\hosts
OS/2eComStation "bootdrive":\mptn\etc\
Symbian Symbian OS 6.1–9.0 C:\system\data\hosts
Symbian OS 9.1+ C:\private\10000882\hosts
MorphOS英語MorphOS NetStack ENVARC:sys/net/hosts
AmigaOS 4 DEVS:Internet/hosts
AROS英語AROS ENVARC:AROSTCP/db/hosts
Android /etc/hosts(指向/system/etc/hosts符號鏈接
iOS iOS 2.0和更新版本 /etc/hosts(指向/private/etc/hosts符號鏈接
TOPS-20英語TOPS-20 <SYSTEM>HOSTS.TXT
Plan 9 /lib/ndb/hosts
BeOS /boot/beos/etc/hosts
Haiku /boot/common/settings/network/hosts
OpenVMS UCX UCX$HOST
TCPware英語TCPware TCPIP$HOST
RISC OS 3.7, 5 !Boot.Resources.!Internet.files.Hosts
later boot sequence !Boot.Choices.Hardware.Disabled.Internet.Files.Hosts(RISC OS 6.14)

在Windows中,默認的Hosts文件通常是空白的或包含了注釋語句並使用了以下的默認規則:

127.0.0.1    localhost
::1          localhost

相關鏈接

參考文獻

  1. ^ 1.0 1.1 1.2 hosts(5) — manpages — Debian stretch — Debian Manpages. manpages.debian.org. [2020-03-12]. 
  2. ^ Internet Systems Consortium. The Most Widely Used Name Server Software: BIND. History of BIND. [28 July 2013]. (原始內容存檔於2016-01-02). 

外部連結

自定義Hosts文件

管理Hosts的應用程序