Block or Redirect Unwanted Websites Using HOSTS File

The hosts file is one of the interesting and useful feature of both Windows and Linux operating systems that provides many handy options in addressing network nodes. For instance, you can use the hosts file to block annoying ads, pop-ups, banners, porn sites, or even redirect one website to another.

In this post I will show you how to play around with the hosts file to accomplish some of the above mentioned jobs.

What is a hosts File?

The hosts file is just like any other computer file that is used by the operating system to map hostnames and domain names on to their corresponding IP addresses.

In other words, when you type “google.com” on your browser’s address bar, your computer will look for the hosts file to see if it contains the corresponding IP address for the domain name you typed (google.com). In case if no entry is present in the hosts file, the request is then passed on to the DNS (Domain Name System) server to obtain the IP address.

hosts File vs. DNS

When it comes to resolving the hostnames, the hosts file is given the first priority over the Domain Name System. In most cases, the hosts file remains unconfigured on the operating system and hence the DNS is used by the computer to resolve the domain names to their corresponding IP addresses.

However, if the hosts file is found to contain a valid entry for a given hostname or domain name, then this is picked up and used by the operating system.

Where is the hosts File Located?

Windows: In case of the Windows operating system, the hosts file is located at:

%systemroot%\system32\drivers\etc\hosts

In most cases this should be:

C:\Windows\System32\drivers\etc\hosts

Unix/Linux: In case of Linux it is located at:

/etc/hosts

How to Block a Website?

To block a specific website, all you have to do is just add a new entry for that site in the hosts file. I would prefer to backup the original file and create a new one instead of modifying it. So, if something goes wrong, you can just delete it and restore the original one! Well, here is a step-by-step procedure on how to create a new hosts file on Windows:

Go to “My Computer” and you should see the “Menu bar” on top. In case of Vista and Win 7, just click “Alt” to unhide the “Menu bar”.

Now in the menu bar, click on “Tools -> Folder Options”. In the “View” tab uncheck the option that says: “Hide extensions for known file types” and click on “OK”.

Open a new text pad (New Text Document.txt) and rename it to: hosts. You will get a pop-up message with a warning. Just click on “Yes”.

Please note that the renamed file hostsshould not have any extension such as hosts.txt.

Open the hosts file using the notepad. Now let us assume that you want to block the sites Facebook and Youtube on your computer. For this all you have to do is add the following lines to your hosts file:

127.0.0.1 facebook.com

127.0.0.1 www.facebook.com

127.0.0.1 youtube.com

127.0.0.1 www.youtube.com

Each entry should be placed on an individual line. The IP address and the hostname should be separated by a space or a tab. In this way, you can block any given website by just pointing it to the IP address 127.0.0.1.

Navigate to %systemroot% -> system32 -> drivers -> etc. Here you should see the original hosts file, rename it to hosts_bak. Just copy and paste the new hosts file that you have created. That’s it. You’ve now successfully blocked those websites from loading on your computer.

If you are using Vista/Win 7 you may have to take ownership of the original hosts file before renaming it.

How to Redirect a Website?

Suppose you want to redirect Friendster.com to Google.com, all you have to do is just add the following lines to your hosts file:

74.125.236.72 friendster.com

74.125.236.72 www.friendster.com

Here 74.125.236.72 is the IP address of Google.com. To find out the IP address of any given website, just go to command prompt and ping it. For example: ping google.com. You should get a ping response that displays the IP address as shown below:

From now on, whenever you type “friendster.com” on your browser, you will be redirected to “google.com”.

How does a hosts File work?

Whenever you block a website using the hosts file, you point it to the IP address 127.0.0.1 which in fact is the IP address of your own computer. In other words, the IP 127.0.0.1 points to your own computer and doesn’t exist outside.

So, whenever you type the URL of a website for which an entry is present in the hosts file, your computer will load the IP as 127.0.0.1 instead of the actual one and tries to establish a connection with this IP address (127.0.0.1) but fails. As a result the website doesn’t load at all.

The redirection of the website works by pointing the domain name of one website to the IP address of another website (as configured by the hosts file) instead of its original IP address. So, whenever you type friendster.com, it is pointed to Google.com’s IP address and thus, the Google page loads up instead of the actual page from friendster.com.

How to Block the Annoying Ads?

I have found a great solution to keep all the annoying ads, banners, pop-ups and other parasites at bay by using a pre-configured hosts called MVPS hosts file. This hosts file contains a long list of entries to block all those annoying ads and pop-ups that usually load while you are surfing the Internet. You can also receive regular updates on this to stay up-to-date. You can download MVPS hosts file from the link below:

If you are playing around with the hosts file and something goes wrong, just delete the hosts file itself and rename the original file from hosts_bak to hosts. This should bring back everything to normal. I hope this post on hosts file will help you block unwanted websites on your computer.

I’m using an office wireless LAN which blocks certain websites. My question is whether the hosts file can be used to redirect to a website (blocked by LAN). As I’m typing this, I’m beginning to feel that this is improbable!

No, it is not possible to do this via the hosts file. Your computer may try to find the “blocked” site, but since it is still using the Wireless LAN, and since the packets sent from your computer must travel through the Wireless LAN router to get to the internet, they will be filtered by the router before they get to the internet. Therefore, you won’t be able to get around restrictions on the router by modifying the hosts file.

I added 127.0.0.1 facebook.com 127.0.0.1 http://www.facebook.com 127.0.0.1 youtube.com 127.0.0.1 http://www.youtube.com this to hosts file and saved it. As soon as i close the file my antivirus says file is infected and is now cleaned. Now when i open the file the above lines are gone from the file.

sir my collge has blocked all websites such as facebook i have tried to acess it using the method of converting the website ip to hexdecimals and type to the address its nt woking plz help…… to gain acess to site even gohacking is blocked…. sir plz help with regards …

@Gary : Hi Gary, That wouldn’t work on your office LAN. The hosts file will redirect the traffic to the destination IP address. This happens on your computer. When this traffice reaches your office LAN, it will still be blocked. The HOSTS file will do the redirections only on your computer, but not on the network.

Is Ip add. 127.0.0.1 is only for example sake ? Because it’s fine if someone has static Ip add. but what reguarding dynamic Ip add? As you have explained it system look for Ip add and as that Ip add. Is of your own website doesn’t load.

127.0.0.1 is not just for the sake of example. It is the IP address that points to one’s own computer (loop back address). In other words, 127.0.0.1 when accessed points to my own computer, when accessed by you points to your own computer. For more info refer my other post: Private vs. Public IP address

I have been using Qustodio to achieve the same and have been pretty satisfied with it. With minimal user intervention, it blocks the sites in real time and also tracks the data that my kids download from the web; all anonymously. I am not a computer literate person and so playing with the files is a little scary for me.

The original specification defines 127.0.0.1 to be the IP of the local host. There’s nothing magic about it, all computers are programmed to route those packets directly back to the computer from which they’re sent. Which isn’t used as much in Windows as it used to be in *NIX where you would frequently have things that used the loop back connection.

this is the first page i found, which explains how this method works. impressive article ,tnx! i have one question though.

how can i block the “whole” website? For exampele i want to block everything with “9gag.com”..i tried to block 9gag.com and i wrote “www.9gag.com” into the hosts file and it worked. Then i typed http://www.9gag.com/trending into my browser and the page was loaded. So i typed http://www.9gag.com/trending into hosts, it worked too. But when i google for 9gag i can still open the page or when i open it from my bookmarks. In my bookmarks is the page saved as “http://9gag.com/trending”, so i typed this in the hosts file but without results 🙁

I am a student of Computer Science. I have seen that many antivirus softwaes blocks illegal, violent, pornographic,…etc websites. I want to know how it detects those websites ? Another thing I am interested in learning hacking so if you tell me from where I have to start and name some books to read as a beginer in this topic.

Hi Srikanth, Great way of blocking, if I could just figure out how to get it run on my Windows XP Pro machine.It seems that my laptop is not accessing the given SAMPLE mapping of IPs/Host names.Is there any file within the OS with mapping of all/more IPs/Hosts? My second question is related to the given by you process of adding a website through copy/paste, rename, etc. Why is that so? Can’t I just modify the existing hosts.bak and save it? Obviously, after backing it up. And finally, if I succeed in applying your method of blocking, will it be a two way blockage, meaning the blocked website will have no access to my PC for whatever reason? Thanks a lot for your time in maintaining this very useful @ helpful website.

1. Rename the original hosts file to hosts.bak and try creating a new hosts file. This should solve your first problem in most cases (also make sure that the entries are not commented using the # symbol) 2. It’s simple! If you’ve created the hosts file in some other location (say desktop) and added all the entries, you will have to drop this file in it’s actual (%systemroot%\system32\drivers\etc) location in order to make it work. Of course, you can even modify the existing hosts file as well. 3. No, it is only a one way blockage! 🙁

Hi Srikanth, Ramesh here. 😉 This worked fine with facebook. I actually tried to redirect it to your site. But, it just said website offline or something. But I achieved what I want. There was a problem with one more site. I applied the same method to omegle.com and http://www.omegle.com sadly it doesn’t either redirect or says its offline. It takes me to the same site itself.. What can be the problem??? Can you please help me???

am glad whatever you post here its true.i have tested all things u have mentiond but is working. wish you to post another. but in wind7 is not working to block website or to redirect.i have access the hosts file and make some change but if i want to save it can’t. why? thanks for all

For all the rubbish, malicious or simply irresponsible advice and fixes we get on the Net, this guy has done a great job! It is concise but very well explained. Above all, is informative! My only criticism, 😐 I hate the word “hacker” or “hacking” – it kind of smells bad if you know what I mean!

Thank you for share an important tricks. I want to know more about it. May I Change the settings using any bat file? actually i want that i will make a bat file. if any one click the bat file. then auto meticaly change his host file.

I am getting prompts to install tuto4PC, I have not done it till now. Unwanted sites are opening even when computer is idle while writing a mail some game will open up or something like that can you help me.

Can you explain more fully how to ping a website using the command prompt? Such as how to access the command prompt to begin with? Also can this method be used to block individual facebook profiles or pages? I heard that Facebook is famous for getting around filters by using multiple DNS and other methods. I don’t want to block all of Facebook, I just want to block certain facebook profiles from my children. I hope you respond. Thank you