Test Your DNS Response Times with DNS Tester

DNS Lookup

Two Tools for Testing DNS Server Speeds
Charles Putney , 27 Mar I did this some time ago when I was working at Ricoh. Although this seemed to work, I didn't really know why, and then decided to create an analysis tool to check the DNS performance. Although GRC's DNS Benchmark is packed with features to satisfy the needs of the most demanding Internet gurus and this benchmark offers features designed to enable serious DNS performance investigation , the box below demonstrates that it is also extremely easy for casual and first-time users to run:. This name resolution is also cached by your own router. Based on my results so far, I think that this tool can show you the best DNS to use.

Background

DNS tools | Manage Monitor Analyze

First, make a random three character alphabetic string. I can imagine that some people will cringe at this blatant misuse of a function, but it was quick! Then, duplicate names are removed and the domain names are used for the DNS requests. The current time is saved before the DNS requests are sent so that the delta time can be calculated. A DNS packet contains two bytes at the beginning to enable the requester to keep track of the answers, called transactionID.

These bytes are set to " Q1 " or " Q2 " for the request. This is a little unorthodox, but when an answer is received, this allows easy checking of whether the received packet is relevant to this program and determines the DNS server that has responded.

When answers are received, they are checked as valid " Q1 " or " Q2 " and decoded. The request made is added to the listview and displayed. If no more answers arrive after timeout, then we can analyse the data and test again. An excellent CodeProject article " C.

At first look, these methods looked too difficult for me, so I tried a few other ways of checking DNS. I started by trying the Dns. Resolve method, and also tried Dns. Resolve method uses the computer defined DNS. I experimented with using netsh to change the DNS, but I found that this seemed to take several seconds. Then, I got a hint on the net from Eric Meyers on www.

This seemed to be a way around the inability of Dns. Resolve to use multiple DNS servers, but I found that I could not call this with window minimized for some reason. At this time, I also saw that using these ideas to check the DNS of 30 or 40 names would be very time consuming at several seconds per check. I moved over to the UdpClient class. Receive would not work for me. There seemed to be no way to stop listening!

I saw several references on websites that this class should be avoided like the plague, and I can agree with this. I finally came back to the socket class, and got it working for me.

One tool that I found extremely helpful was Ethereal. It is an open source Ethernet protocol analyser which is available for download here. I have found that the best public DNS is 4. If it does not answer, I consider this a failure. Based on my results so far, I think that this tool can show you the best DNS to use. There is some blocking while the DNS results are received, and so my next projects with the socket will try asynchronous sockets.

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below. Articles Quick Answers Messages. Charles Putney , 27 Mar Please Sign up or sign in to vote. Check the response times of your DNS and compare with other servers.

Download demo project - 8. Background Recently, I had problems with web pages not displaying the first time they were used. The sequence of queries is: Ask the primary DNS to resolve the name. If times out after 1 second with no response, ask the secondary DNS. Using the code When a DNS request is made, the returned answer is cached by the DNS server so that the second time a DNS request is made, then another request will return the result immediately because of local caching. ToChar random[i] ; if Letters.

Close ; Now, parse this received web page for web addresses ending in ".???. Points of interest An excellent CodeProject article " C. History 28 Mar - Updated source download. A list of licenses authors might use can be found here. My first experiences with computing was with a Bendix G15 drum computer at Carnegie Mellon. I have done microprocessor programming and design for , Z80, and I have moved to C now and am still struggling to understand this. A Solution Blueprint for DevOps.

Protocol Buffer-A beginner's walk through. You must Sign In to use this message board. Charles Putney Jul 6: Charles Putney Dec Mark Dods Jul By default, NameBench tests your current DNS servers while also letting you enter specific addresses of other servers. Another option will test the fastest regional DNS servers in your area.

Furthermore, you can have NameBench include censorship checks to test those that provide filtering services. After running NameBench, the results will show you the fastest DNS server available for your particular computer, based upon the exact web sites you visit using the browser cache of your choice, or if you prefer, NameBench can check using the top 2, websites listed by Alexa.

In the end, it will provide a prioritized list of three server addresses it recommends. Then on the Nameservers tab you can see the list of servers that will be tested, along with their IP address and hostname.

On the Owner sub-tab you can see the server IPs along with the company's name. On the Status sub-tab you can see which servers are responding. On the Response Time sub-tab you'll see a performance bar chart summarizing each DNS server's performance after testing is complete. You can also enter specific addresses of other servers, or use DNS Benchmark's feature for finding the top fastest So the first step required before anything can be done on the Internet is to lookup the site's or service's domain name to determine its associated Internet IP address.

Since nothing can happen until IP addresses are known, the use of slow, overloaded or unreliable DNS servers will get in the way, noticeably slowing down virtually all of your use of the Internet.

Unless you have taken over manual control of the DNS servers your system is using which, as you'll see, is not difficult to do , your system will be using the DNS servers that were automatically assigned by your Internet connection provider your ISP.

Since they are likely located close to you on the Internet since they are provided by your own ISP they may already be the fastest DNS servers available to you. But they might be in the wrong order the second one being faster than the first one, and that matters or, who knows? This DNS Benchmark will give you visibility into what's going on with your system's currently assigned DNS servers by automatically comparing their performance with many well known publicly available alternatives.

GRC's DNS Benchmark performs a detailed analysis and comparison of the operational performance and reliability of any set of up to DNS nameservers sometimes also called resolvers at once.

While such behavior may be acceptable to some users, others may find this objectionable.

Introduction