How to Use traceroute on Debian 9

Chưa phân loại
traceroute is a powerful networking tool on Linux. It is used to find the routes that a packet takes. The information is very helpful for debugging purposes of your network.

For example, let’s say you’ve configured a Linux router. You know everything is configured correctly, but when you try to access the internet, it does not work at all. Your DNS server is working perfectly. So where is the problem? How would you find it? How would you fix it?

Let’s try to answer the first question. The DNS name resolution is working, but the host is unreachable. Hmm… Let’s see which path the request to the outside world is taking. We can use traceroute for that. Well, the requests are not going the right direction. The default gateway is not correct. So how do you fix it? well, by setting the correct default gateway, simple!

That’s how traceroute helps in debugging network connectivity problems. It is a very important tool for network administrators.

In this article, I will show you how to use traceroute on Debian 9. Let’s get started.

Installing traceroute on Debian 9:

traceroute is a part of net-tools package on Debian 9 Stretch. It may not be installed by default on Debian 9 Stretch. But it is available in the official package repository of Debian 9 Stretch. So it is very easy to install.

First update the APT package repository cache of your Debian 9 machine with the following command:

$ sudo apt update

The APT package repository cache of your Debian 9 machine should be updated.

Now install net-tools package on your Debian 8 machine with the following command:

$ sudo apt install net-tools

net-tools package should be installed.

Now verify whether traceroute works or not with the following command:

$ traceroute –version

As you can see from the screenshot below, traceroute is working correctly.

Basic Usage of traceroute:

The most basic usage of traceroute is tracing the routes of a host or IP address.

For example, to tracing the routes of, you run the following command:

$ traceroute

A long output is printed. Here, the marked section of the screenshot, is the destination IP address for and is the IP address of the first route, which is my Linux Virtual Router and the second IP address is the IP address of the second route, my home router.

The packet has to go through that many routers to reach at destination IP from my computer.

Disable DNS Name Resolution on traceroute:

By default, traceroute tries to do DNS name resolution of the routers in the path. If you only want to see the IP address of the routes, you can pass the -n flag to traceroute command. traceroute won’t do DNS name resolution anymore.

$ traceroute -n

As you can see from the output of the traceroute command, only the IP addresses of the routes to are shown.

Changing traceroute Gateway:

traceroute uses the default gateway of your Debian 9 machine by default. If you don’t have a default gateway configured, then traceroute won’t work. In that case, you must tell traceroute to use the correct gateway. You use the -g flag to specify gateway on traceroute.

Let’s say you want to use as the gateway for the traceroute command, run the following command:

$ traceroute -g

Using Specific Source Interface for traceroute:

If you have multiple network interface available on your Debian 9 machine, then traceroute may choose to use a network interface randomly. If you want to trace the routes to a destination host using a specific network interface, then use -i flag to specify which network interface you want to use.

To find out what network interfaces are available on your Debian 9 machine, run the following command:

$ ip a

As you can see, my network interface name is ens33.

Now use ens33 interface to trace the routes to using traceroute with the following command:

$ sudo traceroute -i ens33

ens33 interface should be used for tracing the routes.

Changing TTL on traceroute:

The TTL or Time To Live specifies how many routers traceroute command will trace on the way to its destination. The default TTL value is 30, which means, only 30 routes are traced by default.

To change TTL value, -m flag is used.

For example, if you want the first 4 routes on the way to the destination of, run the following command:

$ traceroute -m 4

As you can see, the first 4 routes are displayed.

Getting Help with traceroute:

There are many more things you can do with traceroute. Go to the man page of traceroute with the following command to find out.

$ man traceroute

That’s how you use traceroute on Debian 9 Stretch. Thanks for reading this article.

Sandclock IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, Sandclock IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

How to Mount USB Drive on Linux

Who does not want to interact with their computers in the most advanced and least conservative manner? It’s common for...

How to Create a Bootable Linux USB Flash Drive?

One great thing about Linux is that you can try it out without installing it on your hard drive. Most Linux distributions...

How to install Clementine Music Player on Ubuntu, CentOS

Clementine is a multiplatform modern music player and library organizer for Windows, Linux and Mac OS X. It is inspired...
Bài Viết

Bài Viết Mới Cập Nhật

Hướng dẫn chuyển đổi windows server windows evaluation to standard và active windows server 2008 + 2012 + 2016 + 2019

How to Update Ubuntu Linux

Squid Proxy Manager cài đặt và quản lý Proxy Squid tự động trên ubuntu

Hướng dẫn cài đặt Apache CloudStack

Hướng dẫn ký file PDF bằng chữ ký số (chữ ký điện tử) và sửa lỗi mới nhất 2021 foxit reader