<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Traceroute on NetUtil</title>
    <link>https://www.netutil.app/zh-hans/tags/traceroute/</link>
    <description>Recent content in Traceroute on NetUtil</description>
    <generator>Hugo</generator>
    <language>zh-Hans</language>
    <lastBuildDate>Sat, 16 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.netutil.app/zh-hans/tags/traceroute/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>如何在Mac上运行路由追踪：命令、输出及其含义</title>
      <link>https://www.netutil.app/zh-hans/blog/traceroute-mac-without-terminal/</link>
      <pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate>
      <guid>https://www.netutil.app/zh-hans/blog/traceroute-mac-without-terminal/</guid>
      <description>&lt;p&gt;您的网络很慢，但连接在技术上是通的。页面最终会加载，视频通话卡顿，某个地方出了问题。路由追踪会告诉您确切在哪里。&lt;/p&gt;&#xA;&lt;p&gt;macOS路由追踪显示您的数据在到达目的地途中经过的每一个路由器，以及每个路由器的响应时间。如果存在拥塞、路由配置错误或断开的链路，它会在输出中显示出来。本指南涵盖&lt;code&gt;traceroute&lt;/code&gt;命令、如何读取其返回内容、常见模式的含义，以及如果您偏好可视化界面如何在不使用终端的情况下在Mac上运行路由追踪。&lt;/p&gt;&#xA;&lt;h2 id=&#34;路由追踪做什么&#34;&gt;路由追踪做什么&lt;/h2&gt;&#xA;&lt;p&gt;数据不会直接从您的Mac传输到服务器。它会经过一系列路由器跳转：您的家用路由器、ISP的设备、区域骨干网络，最后是目标网络。每个步骤称为一跳。&lt;/p&gt;&#xA;&lt;p&gt;路由追踪通过利用每个网络数据包中称为TTL（存活时间）的字段来映射这条链路。TTL是一个计数器，每当路由器转发一个数据包时，就将其减1。当TTL减到零时，路由器丢弃该数据包并发回一条标识自己的错误消息。&lt;/p&gt;&#xA;&lt;p&gt;路由追踪发送TTL=1的数据包，第一个路由器丢弃它并回复。路由追踪记录该路由器的地址和响应时间，然后发送TTL=2的数据包，第二个路由器回复。如此逐跳进行，直到数据包到达目的地。&lt;/p&gt;&#xA;&lt;p&gt;结果是一个完整的路径映射，每步都有延迟测量。&lt;/p&gt;&#xA;&lt;figure class=&#34;blog-svg&#34; role=&#34;img&#34; aria-labelledby=&#34;traceroute-svg-title traceroute-svg-desc&#34;&gt;&#xA;  &lt;svg viewBox=&#34;0 0 720 200&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; style=&#34;max-width: 100%; height: auto;&#34;&gt;&#xA;    &lt;title id=&#34;traceroute-svg-title&#34;&gt;How traceroute maps network hops&lt;/title&gt;&#xA;    &lt;desc id=&#34;traceroute-svg-desc&#34;&gt;A diagram showing a packet traveling from a Mac through four router hops to a destination server, with latency labels at each hop: 3ms, 12ms, 18ms, 45ms, and 47ms.&lt;/desc&gt;&#xA;    &lt;style&gt;&#xA;      .node-box { fill: #F5F5F7; stroke: #D2D2D7; stroke-width: 1.5; }&#xA;      .node-label { font-family: -apple-system, system-ui, sans-serif; font-size: 12px; fill: #1d1d1f; text-anchor: middle; }&#xA;      .hop-label { font-family: -apple-system, system-ui, sans-serif; font-size: 11px; fill: #007AFF; text-anchor: middle; font-weight: 600; }&#xA;      .ms-label { font-family: -apple-system, system-ui, sans-serif; font-size: 10px; fill: #8E8E93; text-anchor: middle; }&#xA;      .arrow-line { stroke: #8E8E93; stroke-width: 1.5; fill: none; }&#xA;      .packet { fill: #007AFF; opacity: 0; }&#xA;      @keyframes travel {&#xA;        0%   { opacity: 0; transform: translateX(0); }&#xA;        10%  { opacity: 1; }&#xA;        90%  { opacity: 1; }&#xA;        100% { opacity: 0; transform: translateX(580px); }&#xA;      }&#xA;      .packet { animation: travel 3.5s ease-in-out infinite; }&#xA;      @media (prefers-color-scheme: dark) {&#xA;        .node-box { fill: #2C2C2E; stroke: #48484A; }&#xA;        .node-label { fill: #F5F5F7; }&#xA;        .ms-label { fill: #6E6E73; }&#xA;      }&#xA;      @media (prefers-reduced-motion: reduce) {&#xA;        .packet { animation: none !important; opacity: 0; }&#xA;      }&#xA;    &lt;/style&gt;&#xA;    &lt;defs&gt;&#xA;      &lt;marker id=&#34;arr&#34; markerWidth=&#34;8&#34; markerHeight=&#34;6&#34; refX=&#34;8&#34; refY=&#34;3&#34; orient=&#34;auto&#34;&gt;&#xA;        &lt;polygon points=&#34;0 0, 8 3, 0 6&#34; fill=&#34;#8E8E93&#34; /&gt;&#xA;      &lt;/marker&gt;&#xA;    &lt;/defs&gt;&#xA;    &lt;!-- Nodes --&gt;&#xA;    &lt;rect x=&#34;10&#34; y=&#34;75&#34; width=&#34;72&#34; height=&#34;50&#34; rx=&#34;8&#34; class=&#34;node-box&#34;/&gt;&#xA;    &lt;text x=&#34;46&#34; y=&#34;97&#34; class=&#34;node-label&#34;&gt;您的&lt;/text&gt;&#xA;    &lt;text x=&#34;46&#34; y=&#34;111&#34; class=&#34;node-label&#34;&gt;Mac&lt;/text&gt;&#xA;    &lt;rect x=&#34;150&#34; y=&#34;75&#34; width=&#34;72&#34; height=&#34;50&#34; rx=&#34;8&#34; class=&#34;node-box&#34;/&gt;&#xA;    &lt;text x=&#34;186&#34; y=&#34;97&#34; class=&#34;node-label&#34;&gt;家用&lt;/text&gt;&#xA;    &lt;text x=&#34;186&#34; y=&#34;111&#34; class=&#34;node-label&#34;&gt;路由器&lt;/text&gt;&#xA;    &lt;rect x=&#34;290&#34; y=&#34;75&#34; width=&#34;72&#34; height=&#34;50&#34; rx=&#34;8&#34; class=&#34;node-box&#34;/&gt;&#xA;    &lt;text x=&#34;326&#34; y=&#34;97&#34; class=&#34;node-label&#34;&gt;ISP&lt;/text&gt;&#xA;    &lt;text x=&#34;326&#34; y=&#34;111&#34; class=&#34;node-label&#34;&gt;路由器&lt;/text&gt;&#xA;    &lt;rect x=&#34;430&#34; y=&#34;75&#34; width=&#34;72&#34; height=&#34;50&#34; rx=&#34;8&#34; class=&#34;node-box&#34;/&gt;&#xA;    &lt;text x=&#34;466&#34; y=&#34;97&#34; class=&#34;node-label&#34;&gt;骨干网&lt;/text&gt;&#xA;    &lt;text x=&#34;466&#34; y=&#34;111&#34; class=&#34;node-label&#34;&gt;路由器&lt;/text&gt;&#xA;    &lt;rect x=&#34;580&#34; y=&#34;75&#34; width=&#34;72&#34; height=&#34;50&#34; rx=&#34;8&#34; class=&#34;node-box&#34;/&gt;&#xA;    &lt;text x=&#34;616&#34; y=&#34;97&#34; class=&#34;node-label&#34;&gt;目标&lt;/text&gt;&#xA;    &lt;text x=&#34;616&#34; y=&#34;111&#34; class=&#34;node-label&#34;&gt;服务器&lt;/text&gt;&#xA;    &lt;!-- Arrows --&gt;&#xA;    &lt;line x1=&#34;83&#34; y1=&#34;100&#34; x2=&#34;148&#34; y2=&#34;100&#34; class=&#34;arrow-line&#34; marker-end=&#34;url(#arr)&#34;/&gt;&#xA;    &lt;line x1=&#34;223&#34; y1=&#34;100&#34; x2=&#34;288&#34; y2=&#34;100&#34; class=&#34;arrow-line&#34; marker-end=&#34;url(#arr)&#34;/&gt;&#xA;    &lt;line x1=&#34;363&#34; y1=&#34;100&#34; x2=&#34;428&#34; y2=&#34;100&#34; class=&#34;arrow-line&#34; marker-end=&#34;url(#arr)&#34;/&gt;&#xA;    &lt;line x1=&#34;503&#34; y1=&#34;100&#34; x2=&#34;578&#34; y2=&#34;100&#34; class=&#34;arrow-line&#34; marker-end=&#34;url(#arr)&#34;/&gt;&#xA;    &lt;!-- Hop labels --&gt;&#xA;    &lt;text x=&#34;116&#34; y=&#34;88&#34; class=&#34;hop-label&#34;&gt;第1跳&lt;/text&gt;&#xA;    &lt;text x=&#34;116&#34; y=&#34;160&#34; class=&#34;ms-label&#34;&gt;3 ms&lt;/text&gt;&#xA;    &lt;text x=&#34;256&#34; y=&#34;88&#34; class=&#34;hop-label&#34;&gt;第2跳&lt;/text&gt;&#xA;    &lt;text x=&#34;256&#34; y=&#34;160&#34; class=&#34;ms-label&#34;&gt;12 ms&lt;/text&gt;&#xA;    &lt;text x=&#34;396&#34; y=&#34;88&#34; class=&#34;hop-label&#34;&gt;第3跳&lt;/text&gt;&#xA;    &lt;text x=&#34;396&#34; y=&#34;160&#34; class=&#34;ms-label&#34;&gt;18 ms&lt;/text&gt;&#xA;    &lt;text x=&#34;540&#34; y=&#34;88&#34; class=&#34;hop-label&#34;&gt;第4跳&lt;/text&gt;&#xA;    &lt;text x=&#34;540&#34; y=&#34;160&#34; class=&#34;ms-label&#34;&gt;45 ms&lt;/text&gt;&#xA;    &lt;!-- Animated packet --&gt;&#xA;    &lt;circle cx=&#34;83&#34; cy=&#34;100&#34; r=&#34;5&#34; class=&#34;packet&#34;/&gt;&#xA;  &lt;/svg&gt;&#xA;  &lt;figcaption&gt;每一跳都是路径上的一个路由器。每步的时间显示了速度减慢发生的位置。&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;h2 id=&#34;在macos上运行路由追踪&#34;&gt;在macOS上运行路由追踪&lt;/h2&gt;&#xA;&lt;p&gt;打开终端（应用程序 &amp;gt; 实用工具 &amp;gt; 终端），然后运行：&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
