The hosts file is a text file that maps hostnames to IP addresses. Upon typing a url address in the browser, the system first checks if there is a relevant entry in the hosts file and if exists gets the corresponding IP address. If no entries exists it resolves the IP via the active connection’s DNS servers.
The hosts file can be edited to block certain hostsnames, like ad-serving/malicious hosts, or used for web development purposes, i.e. to redirect domains to local addresses.
Step 1 – Open the Terminal.app
Either start typing
Terminal in the Spotlight search, or goto Applications > Utilities > Terminal.
Step 2 – Open the host file
Open the hosts file by typing the following in the Terminal window:
$ sudo nano /private/etc/hosts
Type your user password when prompted.
Step 3 – Edit the hosts file
The hosts file contains some comments (lines starting with the # symbol), as well as some default hostname mappings (e.g. 127.0.0.1 – local host). Simply append your new mappings underneath the default ones.
Step 4 – Save the hosts file
When done editing the hosts file, press Control+s (cmd+s) to save the file.
Step 5 – Flush the DNS cache
You can use a simple Terminal command to flush the DNS cache, and have your host file changes take immediate effect. Using the open Terminal window, then the following command:
$ dscacheutil -flushcache
Your new mappings should now take effect.
Newer Mac OS X operating systems:
How to edit the hosts file in Mac OS X 10.8 – Mountain Lion
How to edit the hosts file in Mac OS X 10.7 – Lion