The hosts file (/etc/hosts on Unix based system) is the first step in the translation of a FQDN hostname to the IP address format.
When making a DNS request on any address server on the web, this file is queried first. For each name present in this file, a connection will be opened to the defined IP address. It works just like a telephone directory.
If that address is 127.0.0.1 (my PC) the connection will be made on localhost
If a server exists on your PC, it will access the latter. If the server doesn't exist, nothing happens.
The IP address of the localhost is written as:
IPV4 : 127.0.0.1
IPV6 : ::1
On devices with IPv6 enabled, so you can use both. You can modify the hosts file to block access to certain websites.
Why changing the hosts file?
The hosts file is viewed each time you connect to a website, much like a directory of addresses. If the site is listed in the hosts file and has its IP address set to 127.0.0.1, then access will be blocked. By cons, if the website isn't listed in the hosts file, your ISP will automatically connect you to the IP address of the requested website. By modifying the hosts file, you can:
Prohibit access to certain sites,
Accelerate access to your favorite website (for which you know the IP address).
How to modify the hosts file?
The hosts file is located here:
C:\WINDOWS\system32\drivers\etc\hosts A clean hosts file looks like this:
# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 22.214.171.124 rhino.acme.com # source server # 126.96.36.199 x.acme.com # x client host
# localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost
To edit the hosts file:
To block a website using the host file:
Type the IP address, followed by a TAB space and the website name.
You can add all the addresses you want, but if your hosts file becomes too large, it may cause some issues with the DNSClient service of Windows (which puts the svchost process at 99% in your Task Manager). You can disable this service if you wish to use a large hosts file:
Click on Start > Run
Select DNSClient > "Disable"
You can also make use of a predefined template. E.g the MVPS hosts file: 26,000 entries.
Some addresses are blocked in your firewall (IP Range).
To summarize, when you try to connect to a listed website, the computer will redirect to 127.0.0.1 (your computer's IP)