域名解析文件

映射主机名到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的应用程序