Thecomputer filehosts is an operating system file that mapshostnames toIP addresses. It is aplain text file. Originally a file named HOSTS.TXT was manually maintained and made available via file sharing byStanford Research Institute for theARPANET membership, containing the hostnames and address of hosts as contributed for inclusion by member organizations. TheDomain Name System, first described in 1983 and implemented in 1984,[1] automated the publication process and provided instantaneous and dynamic hostname resolution in the rapidly growing network. In modern operating systems, the hosts file remains an alternativename resolution mechanism, configurable often as part of facilities such as theName Service Switch as either the primary method or as a fallback method.
The hosts file is one of several system facilities that assists in addressing network nodes in a computer network. It is a common part of an operating system'sInternet Protocol (IP) implementation, and serves the function of translating human-friendly hostnames into numeric protocol addresses, calledIP addresses, that identify and locate a host in an IP network.
In some operating systems, the contents of the hosts file is used preferentially to other name resolution methods, such as theDomain Name System (DNS), but many systems implementname service switches, e.g.,nsswitch.conf forLinux andUnix, to provide customization. Unlike remote DNS resolvers, the hosts file is under the direct control of the local computer's administrator.[2]
This sectionneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources in this section. Unsourced material may be challenged and removed.(April 2017) (Learn how and when to remove this message) |
The hosts file contains lines of text consisting of anIP address in the first text field followed by one or more host names.[3] The host names map to the IPs, not vice versa. Each field is separated by white space – tabs are often preferred for historical reasons, but spaces are also used. Comment lines may be included; they are indicated by anoctothorpe (#) in the first position of such lines. Entirely blank lines in the file are ignored.[4] For example, a typical hosts file may contain the following:
127.0.0.1 localhost loopback::1 localhost
This example only contains entries for the loopback addresses of the system and their host names, a typical default content of the hosts file. The example illustrates that an IP address may have multiple host names (localhost andloopback), and that a host name may be mapped to bothIPv4 andIPv6 IP addresses, as shown on the first and second lines respectively.
The location of the hosts file in thefile system hierarchy varies by operating system. It is usually namedhosts, without an extension.
Operating System | Version(s) | Location |
---|---|---|
Unix,Unix-like,POSIX | /etc/hosts[5] | |
Microsoft Windows | 3.1 | %WinDir%\HOSTS |
95,98,ME | %WinDir%\hosts[6] | |
NT,2000,XP,[7]2003,Vista, 2008,7,2012,8,10,11 | %SystemRoot%\System32\drivers\etc\hosts[8] | |
Windows Mobile,Windows Phone | Registry key under HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts | |
AppleMacintosh | 9 and earlier | Preferences or System folder |
Mac OS X 10.0–10.1.5[9] | (Added through NetInfo or niload) | |
Mac OS X 10.2 and newer | /etc/hosts (asymbolic link to/private/etc/hosts)[9] | |
Novell NetWare | SYS:etc\hosts | |
OS/2,eComStation,ArcaOS | "bootdrive":\mptn\etc\ | |
Symbian | Symbian OS 6.1–9.0 | C:\system\data\hosts |
Symbian OS9.1+ | C:\private\10000882\hosts | |
MorphOS | NetStack | ENVARC:sys/net/hosts |
AmigaOS | < 4 | AmiTCP:db/hosts |
4 | DEVS:Internet/hosts | |
AROS | ENVARC:AROSTCP/db/hosts | |
Android | /etc/hosts (asymbolic link to/system/etc/hosts) | |
iOS | iOS 2.0 and newer | /etc/hosts (asymbolic link to/private/etc/hosts) |
TOPS-20 | SYSTEM:HOSTS.TXT | |
Plan 9 | /lib/ndb/hosts | |
BeOS | /boot/beos/etc/hosts[10] | |
Haiku | /system/settings/network/hosts[11] | |
OpenVMS | UCX | UCX$HOST |
TCPware | TCPIP$HOST | |
RISC OS | 3.7, 5 | !Boot.Resources.!Internet.files.Hosts |
later boot sequence | !Boot.Choices.Hardware.Disabled.Internet.Files.Hosts[12] |
TheARPANET, the predecessor of theInternet, had no distributed host name database. Each network node maintained its own map of the network nodes as needed and assigned them names that were memorable to the users of the system. There was no method for ensuring that all references to a given node in a network were using the same name, nor was there a way to read the hosts file of another computer to automatically obtain a copy.
The small size of the ARPANET kept the administrative overhead small to maintain an accurate hosts file. Network nodes typically had one address and could have many names. As local areaTCP/IP computer networks gained popularity, however, the maintenance of hosts files became a larger burden on system administrators as networks and network nodes were being added to the system with increasing frequency.
Standardization efforts, such as the format specification of the fileHOSTS.TXT in RFC 952, and distribution protocols, e.g., the hostname server described in RFC 953, helped with these problems, but the centralized and monolithic nature of hosts files eventually necessitated the creation of the distributedDomain Name System (DNS).
On some old systems a file named networks is present that is similar to a hosts file, containing names of networks.[13]
In its function of resolving host names, the hosts file may be used to define anyhostname ordomain name for use in the local system.
The hosts file may present an attack vector for malicious software. The file may be modified, for example, byadware,computer viruses, ortrojan horse software to redirect traffic from the intended destination to sites hosting malicious or unwanted content.[19] The widespreadcomputer wormMydoom.B blocked users from visiting sites aboutcomputer security andantivirus software and also affected access from the compromised computer to the MicrosoftWindows Update website.
In some cases, malware has modified the library responsible for loading the hosts file in order to redirect it to a file it is able to control freely.[20]