Hosts file

From OnnoWiki
Jump to navigation Jump to search

The hosts file is a computer file used in an operating system to map hostnames to IP addresses. The hosts file is a plain-text file and is traditionally named hosts.

Purpose

The hosts file is one of several system facilities to assist in addressing network nodes in a computer network. It is a common part in a operating system's Internet Protocol (IP) implementation, and serves the function of translating human-friendly hostnames into numeric protocol addresses, called IP addresses, that identify and locate a host in an IP network.

In some operating systems, the host file content is used preferentially over other methods, such as the Domain Name System (DNS), but many systems implement name service switches (.e.g., nsswitch.conf) to provide customization. Unlike the DNS, the hosts file is under the direct control of the local computer's administrator.

File content

The hosts file contains lines of text consisting of an IP address in the first text field followed by one or more hostnames, each field separated by white space (blanks or tabulation characters). Comment lines may be included; they are indicated by a hash character (#) in the first position of such lines. Entirely blank lines in the file are ignored. For example a typical hosts file may contain the following:

#This is an example of the hosts file
127.0.0.1  localhost loopback
::1        localhost

This example only contains entries for the loopback addresses of the system and their hostnames, a typical default content of the host file. The example illustrates that an IP address may have multiple hostnames, and that a hostname may be mapped to several IP addresses.

Location in the file system

The location of the hosts file in the file system hierarchy of operating systems varies.

Operating System Version(s) Location
Unix, Unix-like, POSIX /etc/hosts
Microsoft Windows 3.1 %Windir%\HOSTS.SAM
95, 98/98SE, Me %WinDir%\
NT, 2000, and 32-bit versions of XP, 2003, Vista, 7 %SystemRoot%\system32\drivers\etc\
64-bit versions %SystemRoot%\system32\drivers\etc\ (Many sources, including several Microsoft support pages, will incorrectly state that the hosts file is at %SystemRoot%\SysWOW64\drivers\etc\)
Windows Mobile Registry key under \HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts
Apple Macintosh 9 and earlier System Folder: Preferences or System folder
Mac OS X 10.0 – 10.1.5 (Added through NetInfo or niload)
Mac OS X 10.2 and newer, iOS /private/etc/hosts or, since /etc is a symbolic link to /private/etc, /etc/hosts (just like POSIX)
Novell NetWare SYS:etc\hosts
OS/2 & eComStation "bootdrive":\mptn\etc\
Symbian Symbian OS 6.1–9.0 C:\system\data\hosts
Symbian OS 9.1+ C:\private\10000882\hosts
MorphOS NetStack ENVARC:sys/net/hosts
Android /system/etc/hosts
iOS iOS 2.0 and newer /etc/hosts

History

The ARPANET, the predecessor of the Internet, 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 area TCP/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 file HOSTS.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 host files eventually necessitated the creation of the distributed Domain Name System.

Extended applications

In its function of resolving host names, the hosts file may be used to define any hostname or domain name for use in the local system. This may be used either beneficially or maliciously for various effects.

Redirecting local domains
Some web service and intranet developers and administrators define locally defined domains in a LAN for various purposes, such as accessing the company's internal resources or to test local websites in development.
Internet resource blocking
Specially crafted entries in the hosts file may be used to block online advertising, or the domains of known malicious resources and servers that contain spyware, adware, and other malware. This may be achieved by adding entries for those sites to redirect requests to another address that does not exist or to a harmless destination.

Various software applications exist that populate the hosts file with entries of undesirable Internet resources automatically.

Security issues

Because of its role in local name resolution, the hosts file represents an attack vector for malicious software. The file may be hijacked, for example, by adware, computer viruses, trojan horse software, and may be modified to redirect traffic from the intended destination to sites hosting content that may be offensive or intrusive to the user or the user’s computer system.The widespread computer worm Mydoom.B blocked users from visiting sites about computer security and antivirus software and also affected users' ability to access the Microsoft Windows Update website.

See also

External links

Pranala Menarik