Jump to content

Hosts (file)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 203.173.42.48 (talk) at 04:49, 4 May 2007 (→‎Location). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computing, a hosts file, stored on the computer's filesystem, is used to look up the Internet Protocol address of a device connected to a computer network, such as your home computer connected to the Internet. The hosts file describes a many-to-one mapping of device names to IP addresses. When accessing a device by name, the networking system will attempt to locate the name within the hosts file if it exists. Typically, this is used as a first means of locating the address of a system, before accessing the Internet domain name system. The reason for this is that the hosts file is stored on the computer itself and does not require any network access to be used, whereas DNS requires access to an external system, which is typically slower.

History

In the earliest days of the Internet's predecessor, ARPANET, there was no Domain Name System for resolving names into IP addresses. In order to simplify having to memorize IP addresses, a mechanism for translating memorable names to a valid IP address was developed. This mechanism was the HOSTS file method. The TCP/IP stack of an operating system would be modified so it would look up names from a file in order to try and translate them into IP addresses.

This method of performing name-to-IP lookups was in use for many years, as ARPANET was quite small and it was relatively easy to maintain a central HOSTS file that would be distributed to different sites. However, as ARPANET grew in size and complexity and more sites started expanding their own local TCP/IP networks (the beginning of Intranets), the HOSTS method on its own became insufficient. Thus the drive to develop a more scalable, dynamic system was started, which eventually resulted in the development of the widely-used DNS system.

However, TCP/IP-enabled operating systems from the ARPANET days (in other words, Unix and its progeny) retained the HOSTS mechanism up until the present day. Other non-Unix operating systems such as Microsoft Windows also adopted the mechanism. In small networks, it still provides a simple and very fast way to do name-to-IP-address translation.

Since the late 1990s, the HOSTS file mechanism has been adopted (primarily by Microsoft Windows) as a way to protect vulnerable computer systems from malware. At odds with the original intent of the HOSTS file, this adopted use actually takes host names that are perceived as malicious or unwanted and overlays them with "safe" IP addresses.

Location

The hosts file is generally named "hosts" and is located in the following directories for each operating system:

Syntax

The syntax of the hosts file must contain a target IP address followed by one or more spaces and the hostname that will be resolved to that target ip address. A hash (#) at the beginning of a line denotes a comment. Comment lines are ignored by the hosts file parser.

This example directs www.example.com and example.com to the IP address 192.168.0.6 and is followed by a comment.

192.168.0.6   www.example.com example.com
#The above line will cause www.example.com and example.com to resolve to 192.168.0.6

Ad filtering

The hosts file can be used to remove advertising by redirecting the advertisment server's hostname to an unreachable address.

Hijacking

The hosts file can also be used in malicious ways by the authors of spyware and viruses. It is similar to ad blocking with the hosts file, but instead of redirecting advertising servers to dummy ones, popular websites are redirected to an advertiser's server. This technique is known as hijacking. The Qhosts Trojan hijacked many search engines such as Google and AltaVista and redirected them to a site specified by the author.

Other malware such as Mydoom.B may just block the user from visiting sites about security and the removal of viruses. These sites included the makers of popular anti-virus software and Microsoft's Windows Update page to make the removal of the software more difficult for novice users.

Prevention of hosts file hijacking requires either routinely logging in with limited 'user' access (so malicious software has no privileges to change the hosts file, or other important things), or realtime monitoring software such as Windows Defender's "Hosts Monitor", which will warn if anything attempts to edit the hosts file. Changing the properties of the hosts file to read-only is mostly ineffective against modern hijacks as well-programmed malicious software can simply change the file's attribute value. Anti-spyware solutions like Spybot - Search & Destroy and ZoneAlarm's anti-spyware module have a feature to "lock" the hosts file. This does nothing more than set it to read-only. Another way to do this is set the permissions for the file so everyone can only read from it, although the owner and therefore malicious software running in the context of it can change the permissions in Windows and the root user can ignore the permissions in Unix.

Windows quirks

Windows XP has the "DNS Client" service running by default which caches previous DNS requests in memory. It also reads the entire hosts file into that cache as well, which can cause a slowdown at boot time if the file is large (most likely because it is being used for ad filtering). One solution is to disable this service. However, Microsoft claims that "The overall performance of the client computer decreases and the network traffic for DNS queries increases if the DNS resolver cache is deactivated."[1]

To force changes made to the hosts file into the DNS cache run the following in a cmd prompt:

ipconfig /flushdns
More Information
Custom Hosts Files
Applications to Manage Hosts Files
Alternatives to using Hosts Files
  • Ad Muncher AdMuncher will work with all browsers on Microsoft Windows
  • AdBlock Plus AdBlock Plus works with Firefox on all operating systems to block ads
  • King Of The PAC PAC filter that blocks common spy domains and filters some porn. Will work on all operating systems with most modern browsers
  • Privoxy is a web proxy with advanced filtering capabilities for protecting privacy, modifying web page data, managing cookies, controlling access, and removing ads, banners, pop-ups and other obnoxious Internet junk.

References

  1. ^ http://support.microsoft.com/kb/318803 - How to Disable Client-Side DNS Caching in Windows XP and Windows Server 2003