Wednesday, October 15, 2014

The basics of network Troubleshooting


As a software tester, you must know the basic commands and tools to control a network errors, you need it to save time (waiting for the IT staff to answer the ticket that you opened 3 days ago is not a good option...) and even more important, if you know how to make a good troubleshooting, you will know how to create such errors as part of your testing matrix.

I hope that this list will help you to achieve better testing matrix, and control the architecture of your testing software.


Probably the most important commands that you can use when troubleshooting a network connectivity issues. This command will provide the most basic TCP/IP network information for a specific host (IP, Hostname, and Gateway Etc.).

The information that provided by this command is sometimes known to the end user (depends on the addresses configuration policy, that used suggest “Static”/”Dynamic” configuration).
In addition, this command can also use to manipulate the TCP/IP values, when used with specific switches suggest:

/Renew –Renew the TCP/IP configuration for a given adapter (when configured against a ‘Dynamic’ DHCP server, will not work against static configuration).

/Release – send request to the DHCP server to release the current TPC/IP configuration for all/specific adapter/s.

/Flushdns -   resets the configuration of a DNS cache for a specific adapter.


The ping utility, is probably the most common tool that used for network troubleshooting. This utility, is used to provide a clear and fast connectivity test between two hosts (Host that send the request against the Host that need to respond).

When you run the ping command, the connection between the hosts is performed with a protocol called “Internet Control Message Protocol (ICMP)”, this protocol can send echo packets to the destination host and wait for a response (The number of the returned packets, and the timelines of the response, are the factors that determines the connectivity strength between two hosts).

To access the ping utility, you should open the “Command Prompt”, the basic way to do it:
Start > Programs > Accessories > Command Prompt.


Traceroute, is a utility which can help you to gain information (Involved devices Delays between the devices, Etc.) about the packets that sent between two computers (Requester -> Destination).

When running this command, you will see the entire journey of a sent packet, the results will be a display of all the devices it passes through.  There are two available answers:

1.   The user receives the entire root (Computer A -> Computer B)
2.   The user receives the last device that host the packet, and the root computer will not be accessible (Computer A -> Router (a Last device that host the packet)).

Based on my short review, you can see the real benefits of this command, think about a computer or a website that you failed to access without any real reason. 

When you run this command you will get the specific location that stuck the communication and will allow you to focus on one problematic device instead of checking 10 others.


The main feature of this command is to provide the current state of the active network connections on a given host. The returned information contains simple data that explain the current status of the host against the network (Services, Used ports, remote connected hosts Etc.).


I love to use this command, it combines the best from both Ping/Tracert commands (Information and Functionality), and display the results on one centralized location that really helpful when you want to see the full picture.

The most important data that this command can return is the devices involved between the source and destination, latency issues, and the amount of lost packets (if any) between the objects.


This simple command should be used on two basic cases, the first case is when you want to see the information about the HOST routing table, and second, when you want to manipulate the table values.


The next story will demonstrate the importance of this command:
When I leaned my MCPD certificate my teacher explained to us, that more than 40% from the network troubleshooting is relevant to DNS server, after I finished the course and started my first job I saw that he was wrong, the real % was more the 70%.
Got it? Now listen…

The Nslookup command (Win and UNIX), is used when you want to query a specific Domain Naming system (DNS). Using such queries, you can make a basic troubleshooting or get a specific set of information about the name resolving architecture (address Mapping (Host/IP), Default DNS Servers, MX records for exchange mail server…).

In addition, Nslookup supports two different modes:

Interactive - provide the option to query DNS server’s information about a number of attached hosts/domains or simply print the list without an additional specification.

Non-interactive -Provide the option to print the names and information of the requested name (Domain / Host).

No comments:

Post a Comment

My Presentations