Among the many commands you have built-in in your operating system (OS), there is one that helps you see each point of the path of the data packets from your device to its destination, and it is called the Traceroute command. It is a useful diagnostic tool for checking IP routing problems.
What is the Traceroute command?
The Traceroute command is software with a command-line interface, and you can use it to troubleshoot network problems. You can use it for these specific purposes:
- To see the complete route of data packets from your device to the target that you have chosen. That will open your eyes to each router/hop that the packets pass through.
- To see the time it takes for a complete route from your device to the target. You could see if it is within the norms.
- Identify the devices that your packets pass through. Most of them will be visible with their IP address and hostname.
- To find the bottleneck. You can see a particular hop that is responding too slow, or it is not responding at all. The Traceroute command can serve you to show you this problematic spot. That step could have a problem that you can further check by other tools.
Understanding the Traceroute command
The Traceroute command has the following syntax:
traceroute [options] host_Address [pathlength] (Linux)
1. First, you start with the name of the command that you want to use. In our case, it is the “traceroute”.
2. Second, we can add an option for a more specific query. You have many choices like using IPv6, use another protocol for the data packets, change the waiting period, change the total number of packets sent, forbid fragmentation, maximum hops, and more. You can see the whole list of options with the following command, written inside the Terminal:
3. The third will be the target of your query. You can use a hostname like your site’s domain name, or you can use an IP address like the address of your server.
How to use the Traceroute command and to read the results
So, let’s just trace the route to Google.com.
What you will see is an answer that is devised in a few columns. The first will show the hops it takes to reach the target. The second will show the IP addresses of those hops. And the last part will show each of the ping messages that the traceroute have sent, with the time they took.
Now you have a good picture of all the hops that the query takes. You can see if there are any particular delays on the route, and you know between which two devices the problem is occurring.
Problems with the Traceroute command that you could experience.
Sometimes you could have some problems with the command and have some data missing.
Request timed out.
This message could appear because:
- the target that you are checking is down and can’t respond.
- The command is disabled on a gateway.
- The firewall is blocking the request.
- A connection problem.
An asterisk sign (*) in the result.
- A packet has been lost.
- The particular router is discarding the packet on purpose.
Abnormal round trip time.
You can see an abnormal round trip time between different hops, where there is a very low number on one and higher on another. Repeat the command a few times to see if these numbers are consistent. The routers treat the ping messages as a low-priority process, and sometimes they process it later. This might be the reason. You can investigate further to see what the problem is.