Find Out If My DNS Server Free From DNS Cache Poisoning Bug Or Not

by on July 16, 2008 · 8 comments· LAST UPDATED July 16, 2008

in , ,

Q. How do I verify that my ISP or my own recursive resolvers are free from DNS cache poisoning bug that is promised full disclosure of the flaw by Dan on August 7 at the Black Hat conference? How do I test my dns server for DNS cache pollution or DNS Cache Poisoning bug?

A. DNS cache poisoning (also known as DNS cache pollution) is a maliciously created or unintended situation that provides data to a Domain Name Server that did not originate from authoritative DNS sources. It occur if DNS "spoofing attack" has been encountered. An attacker will send malicious data / non-secure data in response to a DNS query. For example dns query for can be redirected to

But how do I find out if my DNS server is open to such attack or not?

Visit Dan Kaminsky java script page to check your DNS

You can also use following command dig command, enter:
$ dig +short @{name-server-ip} txt
$ dig +short txt
$ dig +short @ txt

Sample output:
" is GOOD: 26 queries in 0.1 seconds from 26 ports with std dev 17746.18"

Another test,
$ dig +short @ txt
" is POOR: 42 queries in 8.4 seconds from 1 ports with std dev 0.00"
Tweet itFacebook itG+ itDownload PDF versionFound an error/typo on this page?

{ 8 comments… read them below or add one }

1 MT July 16, 2008 at 4:23 pm

I see no output at all, what does this mean ?


2 if July 23, 2008 at 5:17 am

It means that your ns do not permit recursive queries from where you test.


3 pardeep July 24, 2008 at 11:39 pm

my dns test showing poor result, so how do i fix it??


4 nixCraft July 25, 2008 at 8:38 am

If you are DNS server admin, patch your dns server and remove source query port 53 from named.conf file.


5 pardeep July 27, 2008 at 8:25 am

thanks vivek.
i have fixed it.


6 diay July 27, 2008 at 10:05 am

Centos user with bind 9 running for my lan. how do I fix this, I’m also getting poor result.


7 nixCraft July 27, 2008 at 10:19 am

Run yum update
yum update
Open named.conf file and remove following two lines:
query-source port 53;
query-source-v6 port 53;

Make sure recursion is limited to your LAN only. Set ACL. Restart bind to take effect:
rndc reload


8 Jam July 29, 2008 at 1:51 pm

What if the answer has the word GREAT and not GOOD?



Leave a Comment

Tagged as: , , , , , , , , , , , , ,

Previous Faq:

Next Faq: