How to use the Tracert command-line utility to troubleshoot TCP/IP problems in Windows

For a Microsoft Windows XP version of this article, see 314868 .


Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows

The TRACERT (Trace Route) command is a route-tracing utility used to determine the path that an IP packet has taken to reach a destination.

Note You can run this utitily by typing tracert
or tracert
at the command prompt.

This article discusses the following topics:
  • How the TRACERT command works
  • Troubleshooting with TRACERT
  • TRACERT syntax

More Information

How the TRACERT Command Works

The TRACERT diagnostic utility determines the route taken to a destination by sending Internet Control Message Protocol (ICMP) echo packets with varying IP Time-To-Live (TTL) values to the destination. Each router along the path is required to decrement the TTL on a packet by at least 1 before forwarding it, so the TTL is effectively a hop count. When the TTL on a packet reaches 0, the router should send an ICMP Time Exceeded message back to the source computer.

TRACERT determines the route by sending the first echo packet with a TTL of 1 and incrementing the TTL by 1 on each subsequent transmission until the target responds or the maximum TTL is reached. The route is determined by examining the ICMP Time Exceeded messages sent back by intermediate routers. Note that some routers silently drop packets with expired TTLs and are invisible to TRACERT.

TRACERT prints out an ordered list of the routers in the path that returned the ICMP Time Exceeded message. If the -d switch is used (telling TRACERT not to perform a DNS lookup on each IP address), the IP address of the near- side interface of the routers is reported.

In the following example, the packet must travel through two routers ( and to get to host In this example, the default gateway is and the IP address of the router on the network is at


Tracing route to over a maximum of 30 hops

1 2 ms 3 ms 2 ms
2 75 ms 83 ms 88 ms
3 73 ms 79 ms 93 ms

Trace complete.

Troubleshooting with TRACERT

The TRACERT command can be used to determine where a packet stopped on the network. In the following example, the default gateway has determined that there is not a valid path for the host on There is probably a router configuration problem or the network does not exist (a bad IP address).


Tracing route to over a maximum of 30 hops

1 reports: Destination net unreachable.

Trace complete.

TRACERT is useful for troubleshooting large networks where several paths can be taken to arrive at the same point, or where many intermediate systems (routers or bridges) are involved.


There are several command-line switches that can be used with TRACERT, but they are usually not needed for standard troubleshooting.

TRACERT syntax:

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name


Specifies to not resolve addresses to host names.

-h maximum_hops
Specifies the maximum number of hops to search for target.

-j host-list
Specifies loose source route along the host-list.

-w timeout
Waits the number of milliseconds specified by timeout for each

Name or IP address of the target host.
You can use the -j option to force the outgoing datagram to pass through a specific router. To use the -j option in this manner, use the IP source route option. For example, if you type
tracert HostName, you find that the used path is as follows:
* <router1>
* <router2>
* <router3>
* <router4>
* <hostname>

To find the path to router4 and back to the computer, type tracert -j <router4> <MyComputer>.

The path to router4 and back to the computer is traced. In this example, the path is typically the following:
* <router1>
* <router2>
* <router3>
* <router4>
* <router3>
* <router2>
* <router1>
* <mycomputer>

Article ID: 162326 - Last Review: Mar 15, 2008 - Revision: 1