Domain Name System (DNS) is basically a name server that hosts important network services in any network. DNS can be defined as the ‘phone book’ of the internet. It keeps track of the mapping between the domain name/website names with the IP address (which refers the website/domain). It helps the user to browse the website by its name, not by the IP address (which is difficult to remember). DNS does not only help to keep track of the website name but it also works for many other network functions. Some of the functions are Active directory, e-mail, where DNS is a must.
DNS testing helps to check the health of your Domain Name Service. It also verifies whether the domain set up is correct or not. If there is any error then also DNS testing can help you to detect it quickly. This testing automatically finds the server which is used by the domain/website and then checks the consistency and correctness of the response. There are lots of tools available in the market for DNS testing and report generation. These tools help to trouble shoot the DNS issues in the network and resolve them as soon as possible.
The network service hosted on a DNS server provides responses to the queries against a directory service. DNS server has the following two main purposes.
- It translates domain names/host names into corresponding IP addresses
- Locate computer systems and other resources in the network
The DNS server should be reliable for smooth functioning of a responsive application. If the DNS server takes long time to respond or stop responding then the whole application will be slow.
Following are some reasons behind DNS server problem.
- Configuration issue on the DNS server
- Packet loss between the query device and the server
- Heavy load on the DNS server
- DNS cache poisoning
Now let us have a look at the steps to be followed for DNS testing.
- Open a command prompt. Then type NSLOOKUP and press ENTER. It will return default server name and the address. So the DNS is working fine. Now, if it returns a message like ‘Can’t find server name for address ….‘, then the DNS is not working and something is wrong on the server or in between.
- In this step we will check whether the DNS server is actually up or not. On the command prompt type ‘ping -a IP address‘ (this is the IP address found in the previous step).
If the DNS is working fine then it will return something like this
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
If it returns something like this then there is some issue on the server or in between.
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)
Now in case we get an issue in this step, we will follow the next step to identify the issue.
- In this step we will try to check if the computer’s IP address storage is full or not. Type the command ‘ipconfig/flushdns‘ on the command prompt. It will flush the DNS server cache. After that again type ‘NSLOOKUP’ on the command prompt, and now it should return proper response from the server. If there is no response, follow the next step below.
- Type the command ‘tracert’ on the command prompt with the IP address. It checks if all the intermediate junctions are working fine or not. If it reaches to the server successfully then the DNS is working fine, otherwise DNS is down for some reason.
Now we know the importance of DNS testing and its various steps. Hope, it will help you understand different aspects of DNS testing.