{"id":55024,"date":"2022-05-19T07:49:46","date_gmt":"2022-05-19T07:49:46","guid":{"rendered":"\/tutorials\/?p=55024"},"modified":"2025-08-26T11:47:51","modified_gmt":"2025-08-26T11:47:51","slug":"traceroute-command","status":"publish","type":"post","link":"\/tutorials\/traceroute-command","title":{"rendered":"How to use the traceroute command to diagnose network issues"},"content":{"rendered":"<p>The traceroute command is a <strong>network diagnostic tool that shows where connection problems occur<\/strong>. It works by mapping the path your data packets take from your computer to a destination server, displaying each &ldquo;hop&rdquo; along the way.<\/p><p>Traceroute is especially useful when your internet connection feels slow or a website won&rsquo;t load.<\/p><p>Keep reading to learn how to use traceroute on macOS, Linux, and Windows. We&rsquo;ll also explain how to read the output to identify common network issues like high latency and packet loss, so you can pinpoint the source of connection problems.<\/p><p>\n\n\n\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-what-is-the-traceroute-command\">What is the traceroute command?<\/h2><p>The traceroute command <strong>maps the path data packets take from a source computer to a destination server<\/strong>. It reveals every step, or &ldquo;hop,&rdquo; of the journey, making it essential for network troubleshooting.<\/p><p>The command works on most operating systems, though its name varies: Linux and macOS use <strong>traceroute<\/strong>, while Windows uses <strong>tracert<\/strong>.<\/p><p>Here&rsquo;s a simple breakdown of how it works:<\/p><ol class=\"wp-block-list\">\n<li>Traceroute sends a small data packet with a time-to-live (TTL) value of <strong>1<\/strong>. This value is like a countdown timer. The packet travels to the first router, which decrements the TTL to <strong>0<\/strong>, causing it to &ldquo;expire.&rdquo; The router then sends a &ldquo;Time Exceeded&rdquo; message back to your computer.<\/li>\n\n\n\n<li>Traceroute sends another packet, this time with a TTL of <strong>2<\/strong>. This packet successfully passes the first router and reaches the second router before its TTL expires. The second router then sends the &ldquo;Time Exceeded&rdquo; message back.<\/li>\n\n\n\n<li>This process continues, with traceroute increasing the TTL value by one for each new packet. By recording the source of each &ldquo;Time Exceeded&rdquo; message, it builds a complete map of the route your data takes until it finally reaches its destination.<\/li>\n<\/ol><p>This step-by-step mapping is what separates traceroute from the simpler <a href=\"\/tutorials\/linux-ping-command-with-examples\">ping command<\/a>.<\/p><p>In short, <strong>ping tells you if you can reach a server<\/strong> and measures the total round-trip time, while <strong>traceroute shows you how you get there<\/strong> and pinpoints where any delays are happening along the way.<\/p><h3 class=\"wp-block-heading\" id=\"h-when-should-you-use-traceroute\">When should you use traceroute?<\/h3><p>You should use the traceroute command to <strong>diagnose network performance issues and pinpoint the exact location of connection slowdowns or failures<\/strong>.<\/p><p>It helps you determine whether a connectivity problem lies within your local network, with your internet service provider (ISP), or on the destination server&rsquo;s network.<\/p><p>The main situations where running a traceroute is useful are below:<\/p><ul class=\"wp-block-list\">\n<li><strong>Identify network bottlenecks<\/strong>. If a website is loading slowly, traceroute can show which specific router in the path is causing the high latency.<\/li>\n\n\n\n<li><strong>Detect packet loss<\/strong>. When the traceroute output shows asterisks instead of a time, it indicates that data is being lost at that point in the connection.<\/li>\n\n\n\n<li><strong>Understand the network path<\/strong>. It visualizes the physical journey your data takes across the internet, helping you see if the routing is efficient.<\/li>\n\n\n\n<li><strong>Locate network failures<\/strong>. If you can&rsquo;t connect to a server, traceroute shows you exactly where the connection stops, identifying the source of the failure.<\/li>\n<\/ul><p>For example, if the results show a long delay immediately after your home router, the issue is likely with your ISP.<\/p><p>Now that you understand what traceroute does and when to use it, let&rsquo;s look at how to run the command on your operating system.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-run-the-traceroute-command\">How to run the traceroute command<\/h2><p>Running a traceroute is simple using your system&rsquo;s built-in command-line application, such as Terminal or Command Prompt.<\/p><p>While the core function is the same, the exact steps and command name differ slightly depending on whether you are using macOS, Linux, or Windows.<\/p><p>Below, we&rsquo;ll walk through the specific instructions for each operating system.<\/p><h3 class=\"wp-block-heading\" id=\"h-how-to-use-traceroute-on-macos\">How to use traceroute on macOS<\/h3><p>On macOS, the standard way to run a traceroute is by <strong>using the built-in Terminal application<\/strong>. Here&rsquo;s how to do it:<\/p><ol class=\"wp-block-list\">\n<li>Find <strong>Terminal<\/strong> in <strong>Finder &rarr; Applications &rarr; Utilities<\/strong>, or just use Spotlight (<strong>Command + Spacebar<\/strong>) to search for it.<\/li>\n\n\n\n<li>Type <strong>traceroute<\/strong> followed by the destination domain or IP address and hit <strong>Enter<\/strong>. For example:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">traceroute 8.8.8.8<\/pre><p>The output will immediately begin to populate in the Terminal, showing each hop of the connection&rsquo;s path.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69df430fc094b\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1868\" height=\"436\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/macos-terminal-traceroute.png\/public\" alt=\"Run the traceroute command in macOS' Terminal\" class=\"wp-image-132723\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/macos-terminal-traceroute.png\/w=1868,fit=scale-down 1868w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/macos-terminal-traceroute.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/macos-terminal-traceroute.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/macos-terminal-traceroute.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/macos-terminal-traceroute.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/macos-terminal-traceroute.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1868px) 100vw, 1868px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>For more specific diagnostics, you can add flags to the command. Here are some of the most commonly used ones:<\/p><figure tabindex=\"0\" class=\"wp-block-table is-style-regular\"><table><tbody><tr><td><strong>Flag<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td>-I<\/td><td>Uses ICMP packets instead of the default UDP. This is useful if a firewall is blocking UDP traffic.<\/td><\/tr><tr><td>-n<\/td><td>Shows only IP addresses instead of resolving hostnames. This can significantly speed up the trace.<\/td><\/tr><tr><td>-q &lt;number&gt;<\/td><td>Sets the number of probe packets sent to each hop (default is <strong>3<\/strong>). <strong>traceroute -q 1<\/strong> is faster.<\/td><\/tr><tr><td>-m &lt;number&gt;<\/td><td>Sets the maximum number of hops (max time-to-live) for the trace. The default is usually <strong>64<\/strong>.<\/td><\/tr><tr><td>-w &lt;number&gt;<\/td><td>Sets the time in seconds to wait for a response from a probe (default is <strong>5<\/strong>).<\/td><\/tr><tr><td>-p &lt;port&gt;<\/td><td>Specifies the destination port to use for the trace.<\/td><\/tr><\/tbody><\/table><\/figure><p>Since macOS and Linux are both UNIX-based operating systems, the process for running traceroute and the available options are nearly identical. Let&rsquo;s cover the steps for Linux next.<\/p><h3 class=\"wp-block-heading\" id=\"h-how-to-use-traceroute-on-linux\">How to use traceroute on Linux<\/h3><p>For Linux users, you can run a traceroute <strong>through the Terminal<\/strong>. The traceroute command comes pre-installed on most Linux distributions.<\/p><p>If the command isn&rsquo;t found, you can easily install it using your system&rsquo;s package manager.<\/p><ul class=\"wp-block-list\">\n<li>On <strong>Debian\/Ubuntu<\/strong>:<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt update &amp;&amp; sudo apt install traceroute<\/pre><ul class=\"wp-block-list\">\n<li>On <strong>CentOS\/RHEL<\/strong>:<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo dnf install traceroute<\/pre><p>Here&rsquo;s the simplest way to run a trace:<\/p><ol class=\"wp-block-list\">\n<li>Access the Terminal in your applications menu or by using the keyboard shortcut <strong>Ctrl+Alt+T<\/strong>.<\/li>\n\n\n\n<li>Run the traceroute command. For instance:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">traceroute hostinger.com<\/pre><p>The Terminal will then display the route, listing each hop it takes to reach the destination server.<\/p><p>By default, the Linux traceroute command sends UDP packets. If you need to send ICMP packets instead &ndash; which is how the Windows tracert utility works &ndash; you can use the <strong>-I<\/strong> flag:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">traceroute -I hostinger.com<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69df430fc4d7b\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"2250\" height=\"506\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-i.png\/public\" alt=\"Run the traceroute -I command in Linux's Terminal\" class=\"wp-image-132724\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-i.png\/w=2250,fit=scale-down 2250w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-i.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-i.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-i.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-i.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-i.png\/w=1536,fit=scale-down 1536w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-i.png\/w=2048,fit=scale-down 2048w\" sizes=\"(max-width: 2250px) 100vw, 2250px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>This is a useful option for troubleshooting networks that may handle UDP and ICMP traffic differently.<\/p><p>Now, let&rsquo;s look at how to perform the same task on Windows, which uses a slightly different command and protocol.<\/p><h3 class=\"wp-block-heading\" id=\"h-how-to-use-tracert-on-windows\">How to use tracert on Windows<\/h3><p>On Windows, you can run a network trace using the <strong>tracert command in the Command Prompt<\/strong>. Unlike the UNIX-based traceroute, which uses UDP packets by default, the Windows tracert utility operates using ICMP packets.<\/p><p>Here are the steps to run it:<\/p><ol class=\"wp-block-list\">\n<li>Open the Command Prompt. Press the <strong>Windows key<\/strong>, type <strong>cmd<\/strong>, and hit <strong>Enter<\/strong>.<\/li>\n\n\n\n<li>Type <strong>tracert<\/strong> followed by the destination domain or IP address you want to trace:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">tracert google.com<\/pre><p>The trace results will begin to display, showing the path your connection takes to the destination.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69df430fc8166\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"975\" height=\"509\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/Windows-tracert-results-to-google.com_.png\/public\" alt=\"Run the tracert command in Windows' Command Prompt\" class=\"wp-image-55030\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/Windows-tracert-results-to-google.com_.png\/w=975,fit=scale-down 975w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/Windows-tracert-results-to-google.com_.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/Windows-tracert-results-to-google.com_.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/Windows-tracert-results-to-google.com_.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 975px) 100vw, 975px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>You can also use several options to modify the command&rsquo;s behavior. Here are the most common flags for tracert:<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td><strong>Flag<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td>-d<\/td><td>Prevents tracert from resolving IP addresses to hostnames. Using this option results in a much faster trace.<\/td><\/tr><tr><td>-h &lt;number&gt;<\/td><td>Specifies the maximum number of hops to search for the target. The default is 30.<\/td><\/tr><tr><td>-w &lt;number&gt;<\/td><td>Sets the timeout in milliseconds to wait for each reply before the connection is considered lost.<\/td><\/tr><tr><td>-4<\/td><td>Forces the command to use only IPv4.<\/td><\/tr><tr><td>-6<\/td><td>Forces the command to use only IPv6.<\/td><\/tr><\/tbody><\/table><\/figure><p>After learning how to run a trace on different operating systems, the next step is to understand what the results actually mean.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-read-traceroute-results\">How to read traceroute results<\/h2><p>After running the command, your terminal will display the results line by line. While the visual output can vary slightly between operating systems, the core information &ndash; the path your data travels &ndash; remains the same.<\/p><p>A traceroute report lists <strong>every hop a data packet takes to reach its destination. Each line represents one of those hops.<\/strong><\/p><p>To make sense of the report, you first need to understand what each part of the output means.<\/p><h3 class=\"wp-block-heading\" id=\"h-what-do-traceroute-columns-mean\">What do traceroute columns mean?<\/h3><p>Each row in the report is typically divided into three main sections, providing specific details about that step in the journey. Let&rsquo;s break down a single line from a sample output:<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69df430fca8dd\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"2560\" height=\"99\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-line-scaled.png\/public\" alt=\"A sample output of the traceroute command\" class=\"wp-image-132736\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-line-scaled.png\/w=2560,fit=scale-down 2560w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-line-scaled.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-line-scaled.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-line-scaled.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-line-scaled.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-line-scaled.png\/w=1536,fit=scale-down 1536w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2022\/05\/linux-terminal-traceroute-line-scaled.png\/w=2048,fit=scale-down 2048w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td><strong>Component<\/strong><\/td><td><strong>Example<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td>Hop number<\/td><td>2<\/td><td>The first number simply counts the hop in the sequence. Here, <strong>2<\/strong> indicates that it is the second router in the path.<\/td><\/tr><tr><td>Hostname\/IP address<\/td><td>153.92.2.11 (153.92.2.11)<\/td><td>This display the domain name (if available) and IP address of the router at that hop.<\/td><\/tr><tr><td>Round-trip time<\/td><td>0.952 ms 0.488 ms 0.195 ms<\/td><td>These three times show how long each of the three packets took to get to the hop and return, measured in milliseconds (ms).<\/td><\/tr><\/tbody><\/table><\/figure><p><strong>How to identify errors in a traceroute report<\/strong><\/p><p>Sometimes, a traceroute doesn&rsquo;t complete smoothly. When issues occur, the report will display specific indicators instead of the usual RTT times.<\/p><p>Here are the most common errors and what they mean:<\/p><ul class=\"wp-block-list\">\n<li><strong>Asterisks (*)<\/strong>. This symbol means a <strong>packet sent to that hop was not returned in time<\/strong>. This often indicates network congestion or a firewall blocking the request. One or two asterisks are common, but three in a row signal a potential problem.<\/li>\n\n\n\n<li><strong>&ldquo;Request timed out&rdquo;<\/strong>. This is the Windows equivalent of the asterisk and means the <strong>server at that hop did not respond<\/strong>. This could be due to network congestion, a firewall, or an issue with the return path.<\/li>\n\n\n\n<li><strong>&ldquo;Destination net unreachable&rdquo;<\/strong>. This message indicates that the <strong>packets can no longer find a route to the destination<\/strong>. This usually points to a router configuration issue or a broken connection path.<\/li>\n<\/ul><p>Next, let&rsquo;s see how to analyze the patterns in the results to diagnose different types of network problems.<\/p><h3 class=\"wp-block-heading\" id=\"h-high-latency-in-the-middle-of-the-trace\">High latency in the middle of the trace<\/h3><ul class=\"wp-block-list\">\n<li><strong>What it looks like<\/strong>: The RTT numbers are low for the first few hops, then suddenly increase at a specific router and remain high for every hop after that. Here&rsquo;s an example where latency jumps at hop <strong>4<\/strong>:<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">1  192.168.1.1 (192.168.1.1)  1.2 ms  1.5 ms  1.4 ms\n2  10.0.0.1 (10.0.0.1)  15.1 ms  14.8 ms  15.2 ms\n3  203.0.113.1 (203.0.113.1)  16.0 ms  15.9 ms  16.1 ms\n4  198.51.100.1 (198.51.100.1)  155.4 ms  155.2 ms  155.8 ms\n5  domain.tld (192.0.2.1)  156.1 ms  155.9 ms  156.0 ms<\/pre><ul class=\"wp-block-list\">\n<li><strong>What it means<\/strong>: This pattern points to a <strong>bottleneck or congestion issue at the router where the latency first jumped<\/strong>. The problem is located on the network of an ISP or a major internet backbone provider.<\/li>\n\n\n\n<li><strong>What to do<\/strong>: There is little you can do directly, as the issue is outside your local network. However, if the problem persists, you can report it to your ISP and provide the traceroute results as evidence.<\/li>\n<\/ul><h3 class=\"wp-block-heading\" id=\"h-high-latency-at-the-beginning-of-the-trace\">High latency at the beginning of the trace<\/h3><ul class=\"wp-block-list\">\n<li><strong>What it looks like<\/strong>: The RTT numbers are very high on the first or second hop. A healthy connection to your local router (the first hop) should typically be <strong>under 5 ms<\/strong>. In the example below, the latency is over <strong>180 ms<\/strong> from the start, indicating an immediate problem.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">1  192.168.1.1 (192.168.1.1)  180.1 ms  182.3 ms  181.5 ms\n2  10.0.0.1 (10.0.0.1)  185.2 ms  184.9 ms  185.4 ms\n3  domain.tld (192.0.2.1)  190.5 ms  191.1 ms  190.8 ms<\/pre><ul class=\"wp-block-list\">\n<li><strong>What it means<\/strong>: This almost always indicates a <strong>problem with your local network<\/strong>. The slowdown is happening between your computer and your router.<\/li>\n\n\n\n<li><strong>What to do<\/strong>: Troubleshoot your local hardware. Start by rebooting your router. If that doesn&rsquo;t work, check your network cables for damage or try connecting via a different method, like from WiFi to an Ethernet cable.<\/li>\n<\/ul><h3 class=\"wp-block-heading\" id=\"h-timeouts-in-the-middle-of-the-trace\">Timeouts in the middle of the trace<\/h3><ul class=\"wp-block-list\">\n<li><strong>What it looks like<\/strong>: One of the hops in the middle of the report shows three asterisks (<strong>* * *<\/strong>) or a &ldquo;Request timed out&rdquo; message, but the hops after it respond normally.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">1  192.168.1.1 (192.168.1.1)  1.2 ms  1.5 ms  1.4 ms\n2  10.0.0.1 (10.0.0.1)  15.1 ms  14.8 ms  15.2 ms\n3  * * *\n4  198.51.100.1 (198.51.100.1)  16.4 ms  16.2 ms  16.8 ms\n5  domain.tld (192.0.2.1)  17.1 ms  16.9 ms  17.0 ms<\/pre><ul class=\"wp-block-list\">\n<li><strong>What it means<\/strong>: This is usually not a problem. It simply means that a <strong>router along the path is configured not to respond to traceroute requests<\/strong>.<\/li>\n\n\n\n<li><strong>What to do<\/strong>: You can safely ignore this. As long as the trace continues and reaches the destination, the connection is flowing through that router correctly.<\/li>\n<\/ul><h3 class=\"wp-block-heading\" id=\"h-timeouts-at-the-end-of-the-trace\">Timeouts at the end of the trace<\/h3><ul class=\"wp-block-list\">\n<li><strong>What it looks like<\/strong>: The trace works perfectly until the very last few hops, which time out completely.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">1  192.168.1.1 (192.168.1.1)  1.2 ms  1.5 ms  1.4 ms\n2  10.0.0.1 (10.0.0.1)  15.1 ms  14.8 ms  15.2 ms\n3  203.0.113.1 (203.0.113.1)  16.0 ms  15.9 ms  16.1 ms\n4  * * *\n5  * * *<\/pre><ul class=\"wp-block-list\">\n<li><strong>What it means<\/strong>: The most common cause is a <strong>firewall on the destination server that is blocking the traceroute packets<\/strong>.<\/li>\n\n\n\n<li><strong>What to do<\/strong>: This is often not an error, as long as you can still access the website or service. If you can&rsquo;t connect at all, you may need to contact the website&rsquo;s administrator. Or, if you are the website owner, check your server firewall configuration or reach out your hosting provider for support.<\/li>\n<\/ul><figure class=\"wp-block-image size-full\"><a class=\"hgr-tutorials-cta hgr-tutorials-cta-web-hosting\" href=\"\/web-hosting\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2023\/11\/Web-hosting_in-text-banner.png\/public\" alt=\"Hostinger web hosting banner\" class=\"wp-image-98604\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2023\/11\/Web-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2023\/11\/Web-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2023\/11\/Web-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2023\/11\/Web-hosting_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-key-takeaways\">Key takeaways<\/h2><p>The traceroute command is your go-to tool for diagnosing the path and performance of your network connection. When you run a trace, you should expect to see a hop-by-hop list of routers with corresponding latency times.<\/p><p>Look for patterns in these results: a sudden jump in latency points to a bottleneck, while timeouts can indicate a firewall or a router that doesn&rsquo;t respond to requests.<\/p><p>By understanding these patterns, you can quickly determine if a network problem is on your end, with an ISP, or at the destination server.<\/p><p>If you&rsquo;re managing servers or troubleshooting home networks, traceroute should be your first stop.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The traceroute command is a network diagnostic tool that shows where connection problems occur. It works by mapping the path [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/tutorials\/traceroute-command\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":206,"featured_media":119759,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"How to use the traceroute (tracert) command","rank_math_description":"Learn how to use the traceroute command on your OS. This guide shows how to run it, read the output, and diagnose network latency issues.","rank_math_focus_keyword":"traceroute command","footnotes":""},"categories":[22635,22631],"tags":[],"class_list":["post-55024","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-configuration-and-management","category-domains"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/traceroute-command","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/comando-traceroute","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/comando-traceroute","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/traceroute-command","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/traceroute-command","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/traceroute-command-how-to-use-and-interpret-it","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/traceroute-command-how-to-use-and-interpret-it","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/comando-traceroute","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/comando-traceroute","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/comando-traceroute","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/traceroute-command","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/traceroute-command","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/comando-traceroute","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/traceroute-command","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/traceroute-command","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/posts\/55024","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/users\/206"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/comments?post=55024"}],"version-history":[{"count":24,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/posts\/55024\/revisions"}],"predecessor-version":[{"id":133039,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/posts\/55024\/revisions\/133039"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/media\/119759"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/media?parent=55024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/categories?post=55024"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/tutorials\/wp-json\/wp\/v2\/tags?post=55024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}