#计算机文件 的主机器是将操作系统文件主机名到IP地址。这是一个纯文本文件。最初名为HOSTS.TXT文件手工维护,并提出通过文件共享可以通过斯坦福研究所的阿帕网会员,包含主机的主机名和地址的贡献纳入各成员组织。该域名系统,于1983年首次描述,并在1984年实施,[1]自动出版过程以及快速增长的网络中提供即时和动态主机名解析。在现代操作系统,主机文件仍然是一个替代名称解析机制,往往是可配置的设施,如部分名称服务转换器作为主要方法或作为备用方法
主机文件是帮助在计算机网络中寻址网络节点的若干系统设施之一。它是一个操作系统的的共用部分网际协议(IP)实现,并用于转换人类友好主机名转换成数字协议地址,调用的功能的IP地址,即标识和定位在IP网络中的主机。
在某些操作系统中,hosts文件中的内容被优先用于其他名称解析方法,如域名系统(DNS),但许多系统实现了名称服务交换机,例如,nsswitch.conf中为Linux的与Unix的,提供定制。与远程DNS解析器不同,hosts文件受本地计算机管理员的直接控制
hosts文件包含由第一个文本字段中的IP地址和一个或多个主机名组成的文本行。每个字段由空格分隔 - 由于历史原因,选项卡通常是首选,但也使用空格。可以包括评论行; 它们由这样的行的第一位置中的散列字符(#)指示。将忽略文件中的整个空白行。例如,典型的主机文件可能包含以下内容:
127.0.0.1 localhost loopback
:: 1 localhost
此示例仅包含系统的环回地址及其主机名(主机文件的典型默认内容)的条目。这个例子说明,一个IP地址可能有多个主机名(本地主机和环回),以及主机名可以映射到两个的IPv4和IPv6的 IP地址。
位置在文件系统
在hosts文件的位置,文件系统层次结构因操作系统而异。它通常被命名为主机,没有扩展
[table=98%,rgb(248, 249, 250)]
[tr][td]
操作系统
[/td][td]
版本
[/td][td]
位置
[/td][/tr]
[tr][td]的Unix,类Unix,POSIX[/td][td]
[/td][td]/etc/hosts[3][/td][/tr]
[tr][td=1,3]Microsoft Windows[/td][td]3.1[/td][td]%WinDir%\HOSTS[/td][/tr]
[tr][td]95,98,ME[/td][td]%WinDir%\hosts[4][/td][/tr]
[tr][td]NT,2000,XP,[5] 2003年,Vista中,
2008,7,2012,8,10[/td][td]%SystemRoot%\System32\drivers\etc\hosts [6][/td][/tr]
[tr][td]的Windows Mobile,Windows手机[/td][td]
[/td][td]注册表下的关键HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts[/td][/tr]
[tr][td=1,3]苹果的Macintosh[/td][td]9和更早[/td][td]Preferences或System文件夹[/td][/tr]
[tr][td]的Mac OS X 10.0-10.1.5 [7][/td][td](通过NetInfo或niload添加)[/td][/tr]
[tr][td]的Mac OS X 10.2及更高版本[/td][td]/etc/hosts(一个符号链接到/private/etc/hosts)[7][/td][/tr]
[tr][td]Novell NetWare[/td][td]
[/td][td]SYS:etc\hosts[/td][/tr]
[tr][td]OS / 2&eComStation[/td][td]
[/td][td]“bootdrive”:\mptn\etc[/td][/tr]
[tr][td=1,2]塞班[/td][td]Symbian OS 6.1-9.0[/td][td]C:\system\data\hosts[/td][/tr]
[tr][td]Symbian操作系统9.1+[/td][td]C:\private\10000882\hosts[/td][/tr]
[tr][td]MorphOS[/td][td]NetStack[/td][td]ENVARC:sys/net/hosts[/td][/tr]
[tr][td]AmigaOS[/td][td]4[/td][td]DEVS:Internet/hosts[/td][/tr]
[tr][td]AROS[/td][td]
[/td][td]ENVARC:AROSTCP/db/hosts[/td][/tr]
[tr][td]Android[/td][td]
[/td][td]/etc/hosts(一个符号链接到/system/etc/hosts)[/td][/tr]
[tr][td]iOS[/td][td]iOS 2.0及更高版本[/td][td]/etc/hosts(一个符号链接到/private/etc/hosts)[/td][/tr]
[tr][td]TOPS-20[/td][td]
[/td][td]HOSTS.TXT[/td][/tr]
[tr][td]计划9[/td][td]
[/td][td]/lib/ndb/hosts[/td][/tr]
[tr][td]BeOS[/td][td]
[/td][td]/boot/beos/etc/hosts[8][/td][/tr]
[tr][td]Haiku[/td][td]
[/td][td]/boot/common/settings/network/hosts[8][/td][/tr]
[tr][td=1,2]OpenVMS[/td][td]UCX)[/td][td]UCX$HOST[/td][/tr]
[tr][td]TCPware[/td][td]TCPIP$HOST[/td][/tr]
[tr][td=1,2]RISC操作系统[/td][td]3.7,5[/td][td]!Boot.Resources.!Internet.files.Hosts[/td][/tr]
[tr][td]以后启动顺序[/td][td]!Boot.Choices.Hardware.Disabled.Internet.Files.Hosts[9]
[/td][/tr]
[/table]
历史
在ARPANET的前身互联网,没有分布的主机名数据库。每个网络节点根据需要维护其自己的网络节点的映射,并且向系统的用户分配它们的令人难忘的名称。没有任何方法可以确保对网络中给定节点的所有引用使用相同的名称,也没有办法读取另一台计算机的主机文件以自动获取副本。
ARPANET的小尺寸保持管理开销小,以保持准确的主机文件。网络节点通常具有一个地址并且可以具有许多名称。作为局部区域的TCP / IP的计算机网络得到普及,然而,主机文件维护成为上系统管理员较大负担的网络和网络节点都被添加到系统的次数越来越多。
标准化工作,如该文件的格式规范HOSTS.TXT在RFC 952,以及分发协议,例如,在所描述的主机服务器的RFC 953,帮助了这些问题,但主机的集中和单片性质文件最终必要的创建的分布式域名系统(DNS)。
在一些老的系统中一个文件名为网络存在有类似于含网络的名称hosts文件的功能
扩展应用
在它的解析主机名的功能,hosts文件可以用来定义任何主机名或域名在本地系统中使用。
重定向本地域有些网络服务和企业内部网的开发人员和管理员可以定义本地定义的域在LAN用于各种用途,比如访问公司内部资源或开发测试本地网站。Internet资源阻止在hosts文件中的条目可以被用来阻止网络广告,或已知的恶意资源和服务器的包含域间谍软件,广告软件和其它恶意软件。这可以通过为这些站点添加条目以将请求重定向到不存在的另一地址或无害目的地来实现。存在商业软件应用程序,其自动地用已知不期望的因特网资源的条目填充主机文件安全问题
hosts文件可能会提供恶意软件的攻击向量。该文件可能会被修改,例如,通过广告软件,计算机病毒或木马软件从预期目标托管恶意或有害内容的网站重定向流量。[10]的广泛计算机蠕虫病毒 Mydoom.B阻止用户访问网站的有关计算机安全和防病毒软件,并从受感染计算机向微软也影响了访问的Windows Update网站
文章转载自维基