Linux hosts (文件)17 Mar 2025 | 6 分钟阅读 主机文件(计算机文件)是一个操作系统文件,可以将主机名映射到 IP 地址。该文件是纯文本文件。最初名为 HOSTS.TXT,由人工维护,并通过 Stanford Research Institute 的文件共享提供给 ARPANET 成员。它包含了共享的、由成员组织添加的主机地址和主机名。 1983 年,域名系统(Domain Name System)首次被描述,并于 1984 年实现。它自动化了发布过程,并促进了在快速增长的网络中动态即时地解析主机名。 hosts 文件是一种备用的名称解析机制,它通常作为名称服务开关(Name Service Switch)等功能的一部分进行配置,作为当前操作系统中的备用方法或主要方法。 hosts 文件的目的hosts 文件是一个系统功能,用于在计算机网络内寻址网络节点。它是操作系统 Internet Protocol 实现的一个基本组成部分。它负责将(人类易于识别的)主机名转换为各种称为 IP 地址的数值协议地址,这些地址用于识别和查找 IP 网络中的主机。 在某些操作系统中,hosts 文件内容会优先于其他名称解析方法,例如 **域名系统**。然而,许多系统使用名称服务开关(Unix 和 Linux 的 nsswitch.conf)进行自定义。与远程域名系统解析器不同,hosts 文件直接由本地管理员控制。 hosts 文件的内容hosts 文件包含文本行,这些文本行最初由 IP 地址组成,后面跟着多个主机名。所有字段都用空白字符分隔,出于历史原因,制表符是首选。但是,空格也使用。可以包含注释行。这些行由行首的 `#`(井号)符号表示。此外,空行在文件中会被完全忽略。 例如,一个 hosts 文件通常包含以下内容: 上面的示例仅包含系统回送地址和主机名的条目,以及 hosts 文件的典型默认内容。该示例表示 IP 地址可能有一个以上的主机名(回送和 localhost),并且一个主机名可能映射到 IPv6 和 IPv4 IP 地址,分别显示在第二行和第一行。 在文件系统中的位置在文件系统层次结构中,hosts 文件的位置因操作系统而异。通常,它命名为 hosts,没有扩展名。
hosts 文件历史互联网的前身,即 **ARPANET** 没有共享的主机名数据库。所有网络节点都管理着对许多网络节点的映射,并分配了对系统用户来说易于记忆的名称。 当时没有机制来确保网络中对给定节点的每次引用都使用相同的名称。同样,也没有从其他计算机读取 hosts 文件以自动获取副本的机制。
hosts 文件的扩展应用hosts 文件可用于定义任何域名或主机名,以便在本地系统中解析主机名时使用。
一些内联网和 Web 服务管理员及开发人员会在 LAN 内描述本地指定的域名,用于多种目的,例如访问公司内部资源以及预先测试本地网站。
在 hosts 文件中,条目可以是熟悉的恶意服务器和资源的域名,这些资源包括广告软件、间谍软件和其他恶意软件,或用于阻止在线广告。 它可以为许多网站包含条目,将请求重定向到不可用地址或其他无害目标,例如本地计算机,以此来存档。 各种交易软件应用程序可能被用来用自动熟悉的、不期望的互联网资源的条目填充 hosts 文件。 还有用户制作的各种 hosts 文件,用于禁用或阻止烦人的服务器,这些文件可在网上公开获取。**Fravia** 在他的反广告页面中将这类文件称为“**强大**”、“**珍贵**”和“**卷轴**”,并在那里首次发布了这种 hosts 用法。
一些盗版软件版本依赖于修改后的 hosts 文件来阻止软件联系发布商的激活服务器。然而,有时激活服务器也出现在正常的、目的明确的 hosts 文件中。 hosts 文件的安全问题hosts 文件可能成为恶意软件的攻击载体。此文件可能被 **木马、计算机病毒** 或 **广告软件** 等修改,从而将流量重定向到托管不需要或恶意内容的站点。 通用的计算机蠕虫 **Mydoom.B** 阻止用户访问有关杀毒软件和计算机安全相关的网站。此外,它还影响(受感染的)计算机访问 Microsoft Windows Update 网站。在某些情况下,恶意软件会更改加载 hosts 文件的库,将其重定向到任何它能自由控制的文件。 hosts 文件格式在 hosts 文件中,条目具有以下格式: 域名和 IP 地址之间至少要用一个制表符或空格分隔。以 **# 符号** 开头的行是注释,会被忽略。 我们可以直接在文本编辑器中打开文件来向 hosts 文件添加条目。在域名系统条目被应用程序缓存的情况下,hosts 文件修改会快速生效。 我们可以直接打开文件并删除添加的行来撤销修改。 修改 hosts 文件在 Linux 中,**/etc/hosts** 是文件的完整路径。 以下说明适用于所有 Linux 发行版,包括 **Linux Mint、Debian、RHEL、CentOS** 和 **Ubuntu**: 1. 在终端窗口中使用您喜欢的文本编辑器打开 hosts 文件 在出现提示时输入 **sudo** 密码。 2. 向下滚动到文件末尾并添加您的新条目 3. 保存修改。 ![]() 下一主题UNIX 操作系统 |
我们请求您订阅我们的新闻通讯以获取最新更新。