How to Install Traceroute and Run on Ubuntu 20.04. In this post, we will introduce Traceroute, its working then show you how to run it on Ubuntu 20.04.
When you connect with a website, the data you acquire tends to travel across several devices and channels. It notably includes routers. Have you ever wondered how this movement happens?
The answer is the tool we probably have in our system, called Traceroute. This tool traces the path between your computer and a target destination to provide valuable insights. Have a read and learn about this tool in detail.
So, let’s start the article blog How to Install Traceroute and Run on Ubuntu 20.04.
Traceroute is a network diagnostic tool that tracks real time pathways taken by a packet on an IP network from source to destination. After, it reports the IP addresses of all the routers it pinged in between. This tool also records each hop’s time to make packets during its route to the destination.
Usually, Traceroute uses Internet Control Message Protocol (ICMP) echo packets with variable time to live (TTL) values. Then, it calculates the response time of this hop. Also, Traceroute queries these hops several times to guarantee accuracy. This way, the measurement of that particular hop becomes appropriate. Moreover, Traceroute also uses ICMP messages and TTL fields to function in the IP address header. Operating systems, like Windows and Linux, include these tools as a utility.
Therefore, Traceroute is beneficial for determining the response delays and routing loops in a network pathway across packet switched nodes. With the help of Traceroute, you can locate any point of failure you witness while routing to a specific location.
Well, traceroute uses the field in Internet Protocol (IP) packet headers that do not deal with path or route tracing. Each IP packets have mandatory Time to Live (TTL) values. These values serve as a self destruct mechanism to prevent undesirable packages from circulating across the Internet unnecessarily. Before sending it further down the line, every router in the path must decrement the TTL value by one. Once these values become zero, the routing process comes screeching halt. The last router that processes the packet has to send a “Time to Live exceeded” message, as it is inappropriate for normal data packets.
However, this frustrating error message plays a crucial role in the working of the Traceroute. Actually, traceroute manipulates the TTL field to trigger TTL exceeded messages from each hop along a given path.
First, the user invokes the traceroute command and specifies a target host. If the host is defined as a domain name, Traceroute tends to resolve it.
Traceroute then sends a data packet to its target. It sets the TTL value to one before sending the packet. The first router in the path decreases its value to 1, which triggers the TTL exceeded messages. It sends back to the host on which the Traceroute program is running.
Now Traceroute increases the TTL value to two. The first router again decreases its value to one. However, since it will no longer reduce to zero immediately after heading out of the gate, the packet takes one more hop. When the TTL value hits zero, another TTL exceeded message is generated and sent to the Traceroute.
The process repeats with Traceroute increasing its value to one every time until it reaches the destination. The upper limit of packets is 30 hops by default. However, when the command runs, you can specify different values.
After the process ends, the Traceroute prints every hops in the path, including the time each hop takes to reach the destination and return. This process is called Round Trip Time.
Traceroute automatically sends three packets to each hop in the path. The same packet will vary related to implementations. It can also change with different flags. However, every class will use the same methodologies.
The basic syntax to use the Traceroute command is shown below:
traceroute [options] host-address [length]
For example, to see the complete route of the google.com website, run the following command:
traceroute google.com
You will get the following output:
traceroute to google.com (216.58.203.14), 30 hops max, 60 byte packets
1 _gateway (192.168.32.213) 4.277 ms 6.348 ms 6.623 ms
2 * * *
3 56.14.132.245 (56.14.132.245) 57.956 ms 56.14.132.253 (56.14.132.253) 57.639 ms 56.14.133.13 (56.14.133.13) 57.253 ms
4 172.17.184.232 (172.17.184.232) 62.807 ms 62.562 ms 74.712 ms
5 172.17.185.2 (172.17.185.2) 74.695 ms 172.17.185.3 (172.17.185.3) 74.677 ms 172.17.185.2 (172.17.185.2) 74.932 ms
6 192.168.168.10 (192.168.168.10) 74.644 ms 192.168.168.2 (192.168.168.2) 66.717 ms 66.880 ms
7 * * *
8 * * *
9 * * *
10 * * *
11 142.250.238.196 (142.250.238.196) 358.876 ms 108.170.248.209 (108.170.248.209) 158.028 ms *
12 142.250.235.8 (142.250.235.8) 460.099 ms 142.250.208.222 (142.250.208.222) 460.071 ms 108.170.248.195 (108.170.248.195) 460.000 ms
13 bom12s04-in-f14.1e100.net (216.58.203.14) 55.560 ms 108.170.248.210 (108.170.248.210) 62.419 ms hkg12s09-in-f14.1e100.net (216.58.203.14) 63.228 ms
The above output shows the following information:
The IP address of the specified website.
Number of Hops: Shows the time the traceroute will try to reach the destination.
Number of packets per Hop.
The size of packets you are sending.
If you want to trace the path without resolving each hop IP address, run the following command:
traceroute -d google.com
You should see the following output:
traceroute to google.com (142.250.183.142), 30 hops max, 60 byte packets
1 _gateway (192.168.32.213) 2.273 ms 2.351 ms 2.614 ms
2 * * *
3 56.14.132.245 (56.14.132.245) 219.958 ms 56.14.133.9 (56.14.133.9) 219.937 ms 56.14.132.237 (56.14.132.237) 220.183 ms
4 172.17.184.229 (172.17.184.229) 219.695 ms 218.895 ms 219.239 ms
5 172.17.185.2 (172.17.185.2) 219.832 ms 226.633 ms 226.927 ms
6 192.168.168.12 (192.168.168.12) 226.350 ms 1308.578 ms 192.168.168.10 (192.168.168.10) 1308.795 ms
7 * * *
8 * * *
9 74.125.32.0 (74.125.32.0) 1340.838 ms * 74.125.51.166 (74.125.51.166) 1343.542 ms
By default, the Traceroute command will passed 16 probes simultaneously. You can customize the number of probes to 5 using the N option:
traceroute -N 5 google.com
You should see the following output:
traceroute to google.com (172.217.27.206), 30 hops max, 60 byte packets
1 _gateway (192.168.32.213) 3.134 ms 3.155 ms 3.197 ms
2 * * *
3 56.14.132.249 (56.14.132.249) 38.496 ms 56.14.132.225 (56.14.132.225) 38.168 ms 56.14.132.233 (56.14.132.233) 39.190 ms
4 172.17.184.229 (172.17.184.229) 38.831 ms 39.980 ms 39.777 ms
5 172.17.185.3 (172.17.185.3) 40.838 ms 172.17.185.2 (172.17.185.2) 40.614 ms 39.666 ms
6 192.168.168.14 (192.168.168.14) 479.916 ms 192.168.168.12 (192.168.168.12) 439.863 ms 192.168.168.14 (192.168.168.14) 538.679 ms
Limit the Number of Hops
By default, the Traceroute command will check the website for only 30 hops. You can set this value to 5 using the -m option:
traceroute -m 5 google.com
You should see the following output:
traceroute to google.com (172.217.27.206), 5 hops max, 60 byte packets
1 _gateway (192.168.32.213) 2.750 ms 2.635 ms 2.815 ms
2 * * *
3 56.14.133.13 (56.14.133.13) 67.194 ms 56.14.133.5 (56.14.133.5) 67.162 ms 56.14.132.245 (56.14.132.245) 67.129 ms
4 172.17.184.229 (172.17.184.229) 66.739 ms 66.708 ms 67.037 ms
5 172.17.185.2 (172.17.185.2) 67.006 ms 172.17.185.3 (172.17.185.3) 66.976 ms 67.181 ms
By default, the Traceroute command shows three probes at every Hop. You can change this value to 2 using the -q option:
traceroute -q 2 google.com
Hide Device Names
The Traceroute command also allows us to hide the device name to make it easier to see the data. You can do it using the -n option
traceroute -n google.com
You should see the following output:
traceroute to google.com (142.250.183.142), 30 hops max, 60 byte packets
1 192.168.32.213 38.755 ms 36.079 ms 36.220 ms
2 * * *
3 56.14.132.249 124.227 ms 56.14.132.245 124.058 ms 56.14.132.233 129.031 ms
4 172.17.184.229 128.385 ms 128.718 ms 128.699 ms
5 172.17.185.3 134.329 ms 133.886 ms 172.17.185.2 133.622 ms
6 192.168.168.10 138.274 ms 102.884 ms 103.156 ms
7 * * *
8 * * *
9 74.125.51.62 102.100 ms * 98.206 ms
10 * * *
11 108.170.248.177 99.058 ms 142.250.214.100 72.280 ms 209.85.255.206 72.388 ms
12 108.170.248.170 70.010 ms 216.239.57.188 84.832 ms 108.170.248.178 84.752 ms
13 142.250.214.111 81.108 ms 142.250.183.142 63.196 ms 142.250.214.111 72.126 ms
You can set the initial value of TTL to skip some hops. If we set it to five, the first test will attempt to get to hop five and skip hops one through four.
To set the initial TTL value to 15, run the following command:
traceroute -f 15 google.com
You should see the following output:
traceroute to google.com (142.250.183.142), 30 hops max, 60 byte packets
15 bom07s31-in-f14.1e100.net (142.250.183.142) 198.816 ms 192.093 ms 142.250.214.111 (142.250.214.111) 192.010 ms
Increase Hope Response Rate
You can use the -w option to increase the response rate that each Hop must wait to show the result.
traceroute -w 6.5 google.com
You should see the following output:
traceroute to google.com (172.217.27.206), 30 hops max, 60 byte packets
1 _gateway (192.168.32.213) 7.418 ms 4.893 ms 5.042 ms
2 * * *
3 56.14.132.225 (56.14.132.225) 56.568 ms 56.14.133.1 (56.14.133.1) 56.410 ms 56.14.132.225 (56.14.132.225) 56.626 ms
4 172.17.184.229 (172.17.184.229) 56.026 ms 56.357 ms 55.991 ms
5 172.17.185.3 (172.17.185.3) 56.461 ms 172.17.185.2 (172.17.185.2) 56.442 ms 56.286 ms
6 192.168.168.10 (192.168.168.10) 56.406 ms 192.168.168.14 (192.168.168.14) 45.208 ms 192.168.168.10 (192.168.168.10) 45.694 ms
7 * * *
Set Pause Time Between Probes
The default time is 0ms. However, you can use the -z option to define your own time:
traceroute -z 0.5 google.com
Define Specific Interface for Traceroute
You can use the -i option to specify the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.
Thank you for reading How to Install Traceroute and Run on Ubuntu 20.04. It is time to conclude.
How to Install Traceroute and Run on Ubuntu 20.04 Conclusion
In this post, we showed you how to install and run Traceroute on Ubuntu 20.04. The Traceroute command is very a useful tool for system or network admins to diagnose the network related problems. The Traceroute command shows you which part of the path is the problem to identify the website issue. You can also use Traceroute to see the amount of latency at each stop.
Have a look at more Ubuntu content in our blog over here.
I am a fan of open source technology and have more than 10 years of experience working with Linux and Open Source technologies. I am one of the Linux technical writers for Cloud Infrastructure Services.
00votes
Article Rating
Subscribe
Login and comment with
I allow to create an account
When you login first time using a Social Login button, we collect your account public profile information shared by Social Login provider, based on your privacy settings. We also get your email address to automatically create an account for you in our website. Once your account is created, you'll be logged-in to this account.
DisagreeAgree
Login and comment with
I allow to create an account
When you login first time using a Social Login button, we collect your account public profile information shared by Social Login provider, based on your privacy settings. We also get your email address to automatically create an account for you in our website. Once your account is created, you'll be logged-in to this account.