Information Security Stack Exchange is a question and answer site for information security professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Can't see how they find this over the web. I'm on Windows, its in my network config. It changes when I use a VPN provider, but not when I use a local socks proxy connected to a remote server over SSH (ProxyCap). None of the publicly available sites are finding my correct IP, but leaktest finds my ISP DNS.

I imagine the protection is in using a VPN that is creating a virtual network adapter and therefore setting DNS providers there, but how is the website detecting my provider?

share|improve this question
up vote 14 down vote accepted

From the source of

<iframe style="display:none" src=""></iframe>
<iframe style="display:none" src=""></iframe>
<iframe style="display:none" src=""></iframe>

That site generates a random host name and arranges for your browser to request content from that host name. Since the host name has never been served to anyone else before, your browser's request to resolve it is sure to make its way to the primary server for the domain. Since they run their own DNS, whoever they receive the DNS requests from is your DNS provider.

Whether forcing your DNS traffic to go through a tunnel instead of via your ISP depends on who you want privacy from. If you don't want the sites you visit to know where you're from, it's a mild leak: most sites don't bother to track where your DNS requests come from, and anyway they'd have a hard time figuring out which ones are yours, and your requests are likely to be served by some cache anyway. However any site could use the same trick as dnsleaktest if they cared. If you're using a tunnel because you don't want your ISP to know which sites you're visiting, making sure that no DNS request ever reaches your ISP is crucial.

share|improve this answer
Perfect, thanks! – JW2014 Sep 21 '13 at 18:10

There is a way ( in linux.. dont know for windows environment) to prevent a DNS leak. You have to find 1 or more public DNS servers and edit your /etc/resolv.conf file by commenting out the first line and deleting the next two. Then type in the second line nameserver and the ip of the Public DNS server you found.

Your resolv.conf should be like this

## #nameserver <--- the ip of your router
# namserver ...whateveripyoufound(free puplic dns server)

two will be fine

Then try and you will see no dns leaks ( all this with starting the tor service first and if you want you can run proxychains with tor )

The downside is that must do this every time you log on to your machine. The changes you made in resolv.conf are not persistent

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.