news 2026/6/23 21:38:47

traceroute 使用详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
traceroute 使用详解

一、traceroute做什么(原理概述)

  • 作用:发现从本机到目标主机经过的每一跳路由节点(每一跳的 IP)并测量到这些跳的延迟(往返时间)。

  • 基本原理:发送一系列带有不同 TTL(Time To Live,生存时间)值的数据包。第 1 个包 TTL=1,会在第 1 路由器被丢弃并返回「超时」类型的 ICMP 响应;第 2 个包 TTL=2,在第 2 路由器时被丢弃并返回,以此类推。通过接收到的 ICMP 超时/响应,可以知道每一跳的 IP 与时延。

  • 协议差异:不同实现默认使用不同协议:

    • Linux 下常见的traceroute(由traceroute包提供)默认发送 UDP 到高端口(超高端口,通常不会在目标上被接受)。

    • Windowstracert使用 ICMP Echo Request(类似 ping)。

    • 现代工具通常支持 TCP(-T)/ICMP(-I)/UDP 选项,可按需切换(例如用于穿过只允许 80/443 的防火墙时用 TCP 端口 80)。


二、常见实现与平台差异

  • Linux(多数发行版):命令通常叫traceroute;需要安装包(例如tracerouteinetutils-traceroute)。支持-I(ICMP)、-T(TCP)、-p(端口)、-n(不解析 DNS)等。

  • macOS:也有traceroute,参数略有差异,但总体行为相似。

  • Windows:命令名tracert,语法不同,选项更少(使用 ICMP)。

  • 注意:不同发行版或软件包(tracerouteiputils-tracepathtracepathparis-traceroute)的选项会有差别,请以man traceroute/tracert /?为准。


三、常用参数(Linuxtraceroute的常见选项,供参考)

不同实现参数略有差异,请用man traceroute验证本机可用选项。

  • -n:不进行 DNS 反查,只显示 IP(通常更快)。

  • -m <max_ttl>:设置最大跳数(默认 30)。

  • -f <first_ttl>:从某个 TTL 开始(例如只查看第 10~20 跳)。

  • -q <nqueries>:对每个 TTL 发送的探测包数(默认 3)。

  • -w <wait>:每个探测的超时时间(秒)。

  • -p <port>:指定目标端口(当使用 UDP/TCP 时)。

  • -I:使用 ICMP ECHO 而不是默认 UDP。

  • -T:使用 TCP SYN(常用于穿越防火墙,需 root 权限或特殊支持)。

  • -4/-6:强制使用 IPv4 或 IPv6。

  • -s <srcaddr>:指定源地址(多网卡场景下有用)。

  • -A-S等:某些实现支持显示 AS 信息或 TTL 控制(实现相关)。


四、示例与解释

  1. 基本(Linux):

traceroute example.com
  1. 更快(不做 DNS 解析):

traceroute -n 8.8.8.8
  1. 降低超时时间并只发送 1 次探测(快速扫描):

traceroute -q 1 -w 2 -n 8.8.8.8
  1. 使用 ICMP(类似 Windows):

sudo traceroute -I example.com
  1. 使用 TCP 端口 80(穿透只允许 TCP 80/443 的网络):

sudo traceroute -T -p 80 example.com
  1. Windows(命令不同):

tracert example.com

五、输出字段如何解读(典型输出示例)

1 192.168.1.1 1.234 ms 1.345 ms 1.290 ms 2 10.0.0.1 10.123 ms 10.234 ms 10.111 ms 3 * * * 4 203.0.113.5 50.321 ms 50.102 ms 50.213 ms
  • 左侧数字:跳数(TTL 值)。

  • 紧接 IP/主机名:该跳路由器的 IP(若 DNS 可解析,可能显示主机名)。

  • 后面三个值:针对该跳发送的 3 次探测的往返时间(RTT),单位毫秒(具体 probe 数由-q决定)。

  • *:超时或没有返回(常见原因:防火墙丢弃 ICMP 超时/拒绝响应,或路由器限流)。

  • 如果最后一跳显示*或不同于目标,可能目标主机对探测协议不回应(例如目标丢弃 UDP 到高端口),但路径仍然可能连通。


六、常见问题与排查建议

  • 输出大量*

    • 可能节点对 ICMP(或探测协议)不回应或限流——不一定代表路径断开。

    • 试试-I(ICMP)、-T -p 80(TCP),或-n(关闭 DNS 反查减少延迟)来判断。

  • 到某跳后 RTT 突增:

    • 可能中间某链路拥塞或路由器 CPU 高负载导致转发延迟;不是一定是目标服务器问题。

  • 到目标最后一跳高延迟但中间跳正常:

    • 目标主机负载高或防火墙对探测包优先级低。

  • traceroute 显示路径与生产流量不一致:

    • 路由器对不同协议/端口可能走不同路径(路由基于策略或 ECMP),使用 TCP traceroute 可更接近实际业务流。

  • 无法运行 traceroute:

    • 某些环境缺少traceroute包,或需要 root 权限(尤其使用原始套接字或 TCP 时)。可安装traceroute或使用tracepath(通常不需 root)。


七、进阶与替代工具

  • mtr(my traceroute):集成 ping 与 traceroute,实时显示每跳的丢包率与延迟变化,适合持续观测网络质量。

    • 使用示例:mtr -n 8.8.8.8

  • tracepath:类似 traceroute,但通常不需要 root 权限,自动选择路径 MTU 探测。

    • 使用示例:tracepath example.com

  • tcptraceroute/traceroute -T:通过 TCP(SYN)进行跟踪,更接近真实 TCP 连接路径(穿透防火墙时有用)。

  • paris-traceroute:为避免负载均衡导致结果不准确而设计(在多路径环境下更准确)。

  • ping:用于判断目标是否可达与稳定性(不是路径诊断工具)。


八、实用排查流程(快速模板)

  1. 基础连通性:ping -c 4 <目标IP或域名>。若 ping 不通,继续 traceroute。

  2. 路径跟踪:traceroute -n <目标IP>(或tracert在 Windows)。

  3. 若大量*:改用sudo traceroute -I -n <目标>sudo traceroute -T -p 80 -n <目标>

  4. 若怀疑中间节点丢包:使用mtr -n <目标>观察每跳丢包/延迟趋势。

  5. 确认本机路由与出接口:ip route/route -n/ip addr

  6. 检查防火墙/安全组(服务器端与中间设备)是否丢弃 ICMP/UDP/TCP 探测包。

  7. 如果需要获取 AS/运营商信息,可结合whois或在线工具(注意隐私与合规)。


九、权限与安全注意

  • 某些 traceroute 模式(例如使用原始套接字或发送 ICMP)需要 root 权限。

  • 在公司/敏感网络中运行 traceroute 之前确认是否允许(部分网络安全策略不允许随意探测)。

  • traceroute 输出可泄露网络拓扑信息,分享时注意脱敏。


十、快速备忘(常用命令汇总)

  • Linux:traceroute -n -q 1 -w 2 8.8.8.8

  • Linux(ICMP):sudo traceroute -I example.com

  • Linux(TCP 80):sudo traceroute -T -p 80 example.com

  • macOS:同traceroute(参数可能略有差异)

  • Windows:tracert -d example.com-d不做 DNS 解析)

  • 实时分析:mtr -n example.com

  • 无需 root 的替代:tracepath example.com

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 19:00:51

低成本高效率:Wan2.2-T2V-5B如何实现实时视频生成?

低成本高效率&#xff1a;Wan2.2-T2V-5B如何实现实时视频生成&#xff1f; 你有没有遇到过这种情况——客户说&#xff1a;“我想要一个视频&#xff0c;主题是‘一只柴犬在夏威夷冲浪’&#xff0c;明天上线。” 而你的团队还在渲染第一帧&#xff1f;&#x1f605; 在短视频主…

作者头像 李华
网站建设 2026/6/23 14:46:39

Wan2.2-T2V-A14B实现天气变化与环境交互的真实模拟

Wan2.2-T2V-A14B实现天气变化与环境交互的真实模拟 你有没有想过&#xff0c;一段文字可以直接“变成”一段会呼吸、有温度的视频&#xff1f;不是简单的画面拼接&#xff0c;而是风真的在吹&#xff0c;雨确实落在地上泛起涟漪&#xff0c;阳光移动时影子也跟着走——就像世界…

作者头像 李华
网站建设 2026/6/23 21:38:34

SpringBoot3自定义配置实战指南

前言如今&#xff0c;Spring Boot3 强势登场&#xff0c;带来了诸多令人眼前一亮的新特性与改进&#xff0c;其中自定义配置更是为开发者们提供了更为灵活且强大的能力。那么&#xff0c;究竟该如何在 Spring Boot3 中实现自定义配置呢&#xff1f;在深入探究自定义配置之前&am…

作者头像 李华
网站建设 2026/6/22 16:34:31

40、《GNU 宽通用公共许可证(LGPL)2.1 版解读》

《GNU 宽通用公共许可证(LGPL)2.1 版解读》 1. LGPL 适用场景 在软件许可领域,通常会使用普通通用公共许可证,但在某些特殊情况下,宽通用公共许可证(LGPL)具有独特优势。 - 推动库成为事实标准 :在极少数情况下,可能需要鼓励尽可能广泛地使用某个库,使其成为事实…

作者头像 李华
网站建设 2026/6/23 10:27:20

什么是护网?2024护网行动怎么参加?一文详解_护网具体是做啥的

前言 最近的全国护网可谓是正在火热的进行中&#xff0c;有很多网安小白以及准大一网安的同学在后台问我&#xff0c;到底什么是护网啊&#xff1f;怎么参加呢&#xff1f;有没有相关的学习资料呢&#xff1f;在下不才&#xff0c;连夜整理出来了这篇护网详解文章&#xff0c;希…

作者头像 李华
网站建设 2026/6/23 20:38:48

Wan2.2-T2V-A14B生成风格化视频的能力评测:动漫/水墨/油画

Wan2.2-T2V-A14B生成风格化视频的能力评测&#xff1a;动漫/水墨/油画 你有没有想过&#xff0c;有一天只需一句话——比如“一个穿汉服的女孩在江南烟雨中撑伞走过石桥&#xff0c;画面像一幅流动的水墨画”——就能自动生成一段意境悠远、笔触细腻的720P高清视频&#xff1f;…

作者头像 李华