traceroute

In computing, traceroute and tracert are diagnostic command-line interface commands for displaying possible routes (paths) and transit delays of packets across an Internet Protocol (IP) network.

The command reports the round-trip times of the packets received from each successive host (remote node) along the route to a destination.

[3] Windows NT-based operating systems also provide PathPing, which combines the functionality of ping with that of tracert.

[4] On Unix-like operating systems, traceroute sends, by default, a sequence of User Datagram Protocol (UDP) packets, with destination port numbers ranging from 33434 to 33534; the implementations of traceroute shipped with Linux,[5] FreeBSD,[6] NetBSD,[7] OpenBSD,[8] DragonFly BSD,[9] and macOS include an option to use ICMP Echo Request packets (-I), or any arbitrary protocol (-P) such as UDP, TCP using TCP SYN packets, or ICMP.

[11] The time-to-live (TTL) value, also known as hop limit, is used in determining the intermediate routers being traversed towards the destination.

The various implementations of traceroute all rely on ICMP Time Exceeded (type 11) packets being sent to the source.

On Linux, tracepath is a utility similar to traceroute, with the primary difference of not requiring superuser privileges.

Traceroute can help identify incorrect routing table definitions or firewalls that may be blocking ICMP traffic, or high port UDP in Unix ping, to a site.

Traceroute is used by penetration testers to gather information about network infrastructure and IP address ranges around a given host.

Router addresses can be superimposed upon maps of their physical locations. This example shows a request from New Zealand to an IP address in Massachusetts which takes a route that passes through Europe .