🌐traceroute

Traceroute is a network diagnostic tool that traces the path of an IP packet from source to destination, helping diagnose network issues and security vulnerabilities.

Traceroute, also known as tracert in Windows, is a network diagnostic tool that is used to trace the path taken by an Internet Protocol (IP) packet from its source to its destination. It works by sending a sequence of Internet Control Message Protocol (ICMP) packets to each router along the path between the source and destination, and measuring the time taken for each response. The results of these measurements can be used to determine the route taken by the packet, as well as the performance of each router along the way.

The primary purpose of traceroute is to help network administrators diagnose and troubleshoot network connectivity issues. For example, if a user reports that they are unable to connect to a particular website, a network administrator can use traceroute to determine where the problem is occurring. By examining the output of traceroute, the administrator can determine if the problem is with the user's local network, the Internet Service Provider (ISP), or the website's server.

In addition to its diagnostic uses, traceroute can also be used as a security tool. By tracing the path taken by a packet through the network, an attacker can determine the network topology and identify potential vulnerabilities. For example, an attacker could use traceroute to identify routers that are poorly secured or misconfigured, and then attempt to exploit these vulnerabilities to gain unauthorized access to the network.

To prevent such attacks, network administrators can use traceroute to identify potential vulnerabilities in their network infrastructure. By regularly running traceroute on their network, administrators can identify changes in the network topology and take steps to secure any vulnerable routers or network devices.

Traceroute is a command-line tool that is available on most operating systems, including Windows, Mac OS, and Linux. To use traceroute, the user simply enters the command followed by the IP address or domain name of the target. Traceroute then displays a list of routers along the path, along with the time taken for each response. The user can also specify various options, such as the number of packets to send, the maximum number of hops to allow, and the size of the packets.

Overall, traceroute is a powerful tool for network administrators and security professionals. It provides a valuable diagnostic tool for troubleshooting network connectivity issues, as well as a means of identifying potential vulnerabilities in a network. By regularly using traceroute, network administrators can ensure the security and reliability of their network infrastructure.

traceroute

The traceroute utility displays the route used by IP packets on their way to a specified network (or Internet) host. Traceroute displays the IP number and host name (if possible) of the machines along the route taken by the packets. Traceroute is used as a network debugging tool. If you’re having network connectivity problems, traceroute will show you where the trouble is coming from along the route.

Install traceroute if you need a tool for diagnosing network connectivity problems.

Installed size: 155 KB How to install: sudo apt install traceroute

Dependencies:
  • libc6

lft.db

Print the route packets trace to network host

:~# lft.db --help
Usage: /usr/bin/lft.db [-ACEFINRSTUVbehinpruvz] [-d dport] [-s sport]
	[-m retry min] [-M retry max] [-a ahead] [-c scatter ms] [-t timeout ms]
	[-l min ttl] [-H max ttl] [-L length] [-q ISN] [-D device] [--help]
	[gateway ...]  target:dport

tcptraceroute.db

Print the route packets trace to network host

:~# tcptraceroute.db -h
Usage: /usr/sbin/tcptraceroute.db [-hvnFSAE] [-i dev] [-f furst_ttl] [-l length]
	[-q nqueries] [-t tos] [-m max_ttl] [-p src_port] [-s src_addr]
	[-w wait_time]  host  [dest_port]  [length]

traceproto.db

Print the route packets trace to network host

:~# traceproto.db -h
Usage: /usr/bin/traceproto.db [-cCTfAhvR] [-p protocol] [-d dst_port] [-D max_dst_port]
	[-s src_port] [-S max_src_port] [-m min_ttl] [-M max_ttl] [-w response_timeout]
	[-W send_delay] [-a account_level] [-P payload_size]
	[-F interface] [-k skips] [-I consecutive_trace_count]
	[-H packets_per_hop] [-i incr_pattern] [-o output_style] [-t tcp_flags]
	target

traceroute-nanog

Print the route packets trace to network host

:~# traceroute-nanog -h
getopt: invalid option -- 'h'
Usage: /usr/bin/traceroute-nanog [-adnruvAMOPQU$] [-w wait] [-S start_ttl]
		[-m max_ttl] [-p port] [-q nqueries] [-g gateway] [-t tos]
		[-s src_addr] [-I proto]  host  [data_size]

traceroute.db

Print the route packets trace to network host

:~# traceroute.db --help
Usage:
  traceroute.db [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,... ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w MAX,HERE,NEAR ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ]
Options:
  -4                          Use IPv4
  -6                          Use IPv6
  -d  --debug                 Enable socket level debugging
  -F  --dont-fragment         Do not fragment packets
  -f first_ttl  --first=first_ttl
                              Start from the first_ttl hop (instead from 1)
  -g gate,...  --gateway=gate,...
                              Route packets through the specified gateway
                              (maximum 8 for IPv4 and 127 for IPv6)
  -I  --icmp                  Use ICMP ECHO for tracerouting
  -T  --tcp                   Use TCP SYN for tracerouting (default port is 80)
  -i device  --interface=device
                              Specify a network interface to operate with
  -m max_ttl  --max-hops=max_ttl
                              Set the max number of hops (max TTL to be
                              reached). Default is 30
  -N squeries  --sim-queries=squeries
                              Set the number of probes to be tried
                              simultaneously (default is 16)
  -n                          Do not resolve IP addresses to their domain names
  -p port  --port=port        Set the destination port to use. It is either
                              initial udp port value for "default" method
                              (incremented by each probe, default is 33434), or
                              initial seq for "icmp" (incremented as well,
                              default from 1), or some constant destination
                              port for other methods (with default of 80 for
                              "tcp", 53 for "udp", etc.)
  -t tos  --tos=tos           Set the TOS (IPv4 type of service) or TC (IPv6
                              traffic class) value for outgoing packets
  -l flow_label  --flowlabel=flow_label
                              Use specified flow_label for IPv6 packets
  -w MAX,HERE,NEAR  --wait=MAX,HERE,NEAR
                              Wait for a probe no more than HERE (default 3)
                              times longer than a response from the same hop,
                              or no more than NEAR (default 10) times than some
                              next hop, or MAX (default 5.0) seconds (float
                              point values allowed too)
  -q nqueries  --queries=nqueries
                              Set the number of probes per each hop. Default is
                              3
  -r                          Bypass the normal routing and send directly to a
                              host on an attached network
  -s src_addr  --source=src_addr
                              Use source src_addr for outgoing packets
  -z sendwait  --sendwait=sendwait
                              Minimal time interval between probes (default 0).
                              If the value is more than 10, then it specifies a
                              number in milliseconds, else it is a number of
                              seconds (float point values allowed too)
  -e  --extensions            Show ICMP extensions (if present), including MPLS
  -A  --as-path-lookups       Perform AS path lookups in routing registries and
                              print results directly after the corresponding
                              addresses
  -M name  --module=name      Use specified module (either builtin or external)
                              for traceroute operations. Most methods have
                              their shortcuts (`-I' means `-M icmp' etc.)
  -O OPTS,...  --options=OPTS,...
                              Use module-specific option OPTS for the
                              traceroute module. Several OPTS allowed,
                              separated by comma. If OPTS is "help", print info
                              about available options
  --sport=num                 Use source port num for outgoing packets. Implies
                              `-N 1'
  --fwmark=num                Set firewall mark for outgoing packets
  -U  --udp                   Use UDP to particular port for tracerouting
                              (instead of increasing the port per each probe),
                              default port is 53
  -UL                         Use UDPLITE for tracerouting (default dest port
                              is 53)
  -D  --dccp                  Use DCCP Request for tracerouting (default port
                              is 33434)
  -P prot  --protocol=prot    Use raw packet of protocol prot for tracerouting
  --mtu                       Discover MTU along the path being traced. Implies
                              `-F -N 1'
  --back                      Guess the number of hops in the backward path and
                              print if it differs
  -V  --version               Print version info and exit
  --help                      Read this help and exit

Arguments:
+     host          The host to traceroute to
      packetlen     The full packet length (default is the length of an IP
                    header plus 40). Can be ignored or increased to a minimal
                    allowed value

traceroute6.db

Print the route packets trace to network host

:~# traceroute6.db --help
Usage:
  traceroute6.db [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,... ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w MAX,HERE,NEAR ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ]
Options:
  -4                          Use IPv4
  -6                          Use IPv6
  -d  --debug                 Enable socket level debugging
  -F  --dont-fragment         Do not fragment packets
  -f first_ttl  --first=first_ttl
                              Start from the first_ttl hop (instead from 1)
  -g gate,...  --gateway=gate,...
                              Route packets through the specified gateway
                              (maximum 8 for IPv4 and 127 for IPv6)
  -I  --icmp                  Use ICMP ECHO for tracerouting
  -T  --tcp                   Use TCP SYN for tracerouting (default port is 80)
  -i device  --interface=device
                              Specify a network interface to operate with
  -m max_ttl  --max-hops=max_ttl
                              Set the max number of hops (max TTL to be
                              reached). Default is 30
  -N squeries  --sim-queries=squeries
                              Set the number of probes to be tried
                              simultaneously (default is 16)
  -n                          Do not resolve IP addresses to their domain names
  -p port  --port=port        Set the destination port to use. It is either
                              initial udp port value for "default" method
                              (incremented by each probe, default is 33434), or
                              initial seq for "icmp" (incremented as well,
                              default from 1), or some constant destination
                              port for other methods (with default of 80 for
                              "tcp", 53 for "udp", etc.)
  -t tos  --tos=tos           Set the TOS (IPv4 type of service) or TC (IPv6
                              traffic class) value for outgoing packets
  -l flow_label  --flowlabel=flow_label
                              Use specified flow_label for IPv6 packets
  -w MAX,HERE,NEAR  --wait=MAX,HERE,NEAR
                              Wait for a probe no more than HERE (default 3)
                              times longer than a response from the same hop,
                              or no more than NEAR (default 10) times than some
                              next hop, or MAX (default 5.0) seconds (float
                              point values allowed too)
  -q nqueries  --queries=nqueries
                              Set the number of probes per each hop. Default is
                              3
  -r                          Bypass the normal routing and send directly to a
                              host on an attached network
  -s src_addr  --source=src_addr
                              Use source src_addr for outgoing packets
  -z sendwait  --sendwait=sendwait
                              Minimal time interval between probes (default 0).
                              If the value is more than 10, then it specifies a
                              number in milliseconds, else it is a number of
                              seconds (float point values allowed too)
  -e  --extensions            Show ICMP extensions (if present), including MPLS
  -A  --as-path-lookups       Perform AS path lookups in routing registries and
                              print results directly after the corresponding
                              addresses
  -M name  --module=name      Use specified module (either builtin or external)
                              for traceroute operations. Most methods have
                              their shortcuts (`-I' means `-M icmp' etc.)
  -O OPTS,...  --options=OPTS,...
                              Use module-specific option OPTS for the
                              traceroute module. Several OPTS allowed,
                              separated by comma. If OPTS is "help", print info
                              about available options
  --sport=num                 Use source port num for outgoing packets. Implies
                              `-N 1'
  --fwmark=num                Set firewall mark for outgoing packets
  -U  --udp                   Use UDP to particular port for tracerouting
                              (instead of increasing the port per each probe),
                              default port is 53
  -UL                         Use UDPLITE for tracerouting (default dest port
                              is 53)
  -D  --dccp                  Use DCCP Request for tracerouting (default port
                              is 33434)
  -P prot  --protocol=prot    Use raw packet of protocol prot for tracerouting
  --mtu                       Discover MTU along the path being traced. Implies
                              `-F -N 1'
  --back                      Guess the number of hops in the backward path and
                              print if it differs
  -V  --version               Print version info and exit
  --help                      Read this help and exit

Arguments:
+     host          The host to traceroute to
      packetlen     The full packet length (default is the length of an IP
                    header plus 40). Can be ignored or increased to a minimal
                    allowed value

Last updated