Helping people with computers... one answer at a time.
In case you need to test your website, there are ways that you can fake the DNS IP lookup to be able to do so. We'll take a look at how that's done.
Can I fake the DNS ip lookup to test my website?
•
The situation is this: you have a working web site, and you're about to move it or make dramatic changes to it. So you make a copy of the web site at a different ip address, possibly with a different temporary domain name. You make all your changes and then want to test it out using the correct URL - the "real" domain name. How can you do that without actually changing the internet's DNS entry for your domain?
It's not hard at all.
•
Let's look at the example in more detail. Say you're the proud owner of http://example.com, and it lives on a server at IP address 1.2.3.4. You're about to make major changes to it, so you create a new domain, http://test.example.com on a different server with a different IP address - 1.2.3.5.
After you make your changes, you want (or in come cases you may need) to test the new server at the new address but use the "correct", real name of the site: example.com and not test.example.com.
In other words, you would like to change example.com to point to 1.2.3.5 instead of 1.2.3.4. Ideally, though, you would not want that to be true for everyone. In fact, you want that to be true only for you. While you're testing your new site, you want the world to continue to only see example.com at the old IP address 1.2.3.4.
Enter the "hosts" file in Windows. This text file contains IP-to-name mappings that override DNS. In fact, if Windows finds an entry in the DNS file, then the internet DNS is never even consulted.
The hosts file lives in c:\windows\system32\drivers\etc\hosts (where "c:\windows" is your Windows directory). It's just a text file, and each line that doesn't begin with a "#" character is of the form:
number space name
So for our example, we would edit this hosts file and add the following line:
1.2.3.5 example.com
Now, on our machine only "example.com" will reference the new IP address, 1.2.3.5, instead of whatever DNS has listed.
There are a couple of caveats:
If this approach sounds vaguely familiar, it's also a technique used by viruses and spyware. By placing entries into your hosts file, malware writers can redirect you to their sites or prevent you from accessing other sites. And that brings us to a final caveat:
Article C2301 - March 8, 2005
so we can say in short that we can't change our website DNS unless YOU changing you hosting server. thanks leo for the useful article.
Posted by: peter at July 20, 2008 10:18 PMhttp://www.fosdir.com
Karl wrote: (quote) This is not true, all over the microsoft website it is said that the DNS is read FIRST and the HOSTS file read SECOND. (end quote)
Never mind the documentation - a 2 minute test shows that the hosts file overrides your DNS server. Try putting microsoft.com or whatever other host name you like in your hosts file with a redirection to some other IP, and then do a NSLOOKUP on that host name. You will see that it goes to the IP you specified in the hosts file, not what your DNS server says. What is confusing though is that even though it got the answer from the Hosts file, NSLOOKUP will say that it got the answer from your DNS server - but it is lying.
Posted by: jinlye at October 6, 2008 4:22 AMhi,
Posted by: Anonymous at May 20, 2009 2:33 AMThe above article is nice.It gave an details of changing DNS entry for our domain.I collected the ip details from this ip-details.It's having the details of finding the ip address location,domain host search also is there.It is really useful for me.
Hi, I have uploaded my site on two servers. I want to use one as a primary server and the second like a backup in case the first goes off-line. I'm experimenting with the name servers, but it seems to choose servers randomly. I set ns1 & ns2 to first server and ns3 & ns4 to second. Any suggestions?
Posted by: nick at October 6, 2009 11:12 PMHow can one override a DNS mapping only for a particular TCP port? Continuing with your example, let's say the test site is actually hosted on a specific TCP port 8080, that is, http://test.example.com:8080. How can I now change the mapping in such a way that the requests for http://exmaple.com are mapped to 1.2.3.5:8080?
Is that even possible using /etc/hosts?
09-Jul-2010
Posted by: Port Testing at July 8, 2010 12:28 AM