菜鸟科技网

pathping命令与ping、tracert有何区别?

pathping 是一个 Windows 系统强大的网络诊断命令,它结合了 pingtracert(或 traceroute)两个命令的优点,既能显示数据包到达目标所经过的路径(像 tracert),又能对路径上的每个路由器进行一段时间的延迟和丢包率统计(像 ping)。

pathping命令与ping、tracert有何区别?-图1
(图片来源网络,侵删)

主要功能: pathping 通过向路径上的每个路由器发送多个 ICMP 回显请求(Echo Request)数据包,然后分析这些数据包的返回情况,从而提供一份详细的网络路径性能报告。

核心优势:

  • 深度诊断: 不仅能看到路径,还能精确指出路径上哪个节点是网络瓶颈(高延迟或高丢包)。
  • 数据详实: 提供每个路由器的平均延迟丢包率,这是 tracert 无法提供的。
  • 结果稳定: 由于它进行多轮测试并计算平均值,其结果比单次 pingtracert 更能反映网络的稳定状况。

语法与参数

基本语法:

pathping [选项] 目标名称或IP地址

常用参数:

pathping命令与ping、tracert有何区别?-图2
(图片来源网络,侵删)
参数 全称 描述
-n noresolve 不解析主机名到IP地址,直接显示IP地址,可以加快显示速度。
-h hops 指定最大跃点数(最大路由器数量),默认为30。
-g host-list 指定松散源路由,数据包可以经过此列表中的主机,但也可以经过其他主机。
-p period 指定 ping 之间的间隔时间(毫秒),默认为10毫秒。
-q num_queries 指定发送到每个路由器的查询次数,默认为100次。
-w timeout 指定等待每个回复的超时时间(毫秒),默认为500毫秒。
-4 ipv4 强制使用 IPv4 进行解析。
-6 ipv6 强制使用 IPv6 进行解析。

工作原理

pathping 的工作过程分为两个阶段:

  1. 第一阶段:路径发现

    • 这部分与 tracert 类似。pathping 向目标发送多个数据包,每个数据包的“生存时间”(TTL)值从1开始,逐步递增。
    • 当数据包经过一个路由器时,TTL值减1,当TTL变为0时,路由器会丢弃该数据包并向源主机发送一个“超时”消息。
    • 通过这种方式,pathping 就能依次发现从源主机到目标主机的所有中间路由器,并打印出路径列表。
  2. 第二阶段:主机统计

    • 在路径发现完成后,pathping 会对路径上的每个路由器(前几个和后几个除外)进行大约90秒的 ping 测试。
    • 在此期间,它会向每个路由器发送指定数量(默认100个)的 ICMP 回显请求。
    • 测试结束后,它会计算并显示:
      • 该路由器的平均往返时间:反映网络的延迟。
      • 从该路由器丢失的数据包百分比:反映该路由器的稳定性或拥塞情况。

示例与结果解读

让我们来看一个典型的 pathping 示例。

pathping命令与ping、tracert有何区别?-图3
(图片来源网络,侵删)

命令:

pathping www.google.com

输出结果分析:

Tracing route to www.google.com [142.250.196.68]
over a maximum of 30 hops:
  0  192.168.1.1
  1  10.0.0.1
  2  203.0.113.1
  3  203.0.113.5
  4  142.250.196.68
Computing statistics for 125 seconds...
  Source to Here   This Node/Link
  Hop  RTT        Lost/Sent = Pct  Lost/Sent = Pct  Address
  0                                  192.168.1.1
 1    2ms     2/2   =100%     2/2   =100%  10.0.0.1
 2    15ms    2/2   =100%     0/100 =  0%  203.0.113.1
 3    16ms    0/100 =  0%     0/100 =  0%  203.0.113.5
 4    30ms    0/100 =  0%     0/100 =  0%  142.250.196.68
Trace complete.

输出详解:

  1. 路径发现部分 (Tracing route...)

    • 这部分显示了数据包到达目标所经过的路径(跃点),和 tracert 的输出完全一样。
  2. 统计信息部分 (Computing statistics...)

    • 这部分是 pathping 的核心,它显示了每个跃点的详细性能数据。
    • Hop: 跃点号,与上面路径列表中的序号对应。
    • RTT (Round-Trip Time): 往返时间,单位是毫秒,这是从你的电脑到该路由器的单程延迟的平均值,数值越低越好。
    • Source to Here / Lost/Sent = Pct: 这列数据表示从你的电脑到该路由器(包含该路由器)的整个链路的丢包情况,在Hop 2,这个值是 2/2 = 100%,意味着从你的电脑到 0.113.1 这个节点的路径上,丢失了100%的数据包,这通常意味着问题出在上一个节点到该节点之间的链路
    • This Node/Link / Lost/Sent = Pct: 这是最重要的数据列,它表示该路由器本身的丢包情况,在Hop 2,这个值是 0/100 = 0%,说明 0.113.1 这个路由器本身工作正常,没有丢弃我们发送给它的数据包,如果这里的丢包率很高(>5%),则说明该路由器本身存在问题或非常拥塞
    • Address: 对应的路由器IP地址或主机名。

使用场景

pathping 是解决复杂网络问题的利器,特别适用于以下场景:

  1. 定位网络瓶颈:当你感觉网速慢、延迟高时,pathping 可以帮你精确指出是哪个路由器或哪条链路导致了问题。

    • 示例:如果你发现 This Node/Link 列的某个路由器丢包率高达20%,那么问题很可能就出在这个路由器上。
  2. 区分本地和外部问题

    • 如果路径上的第一个或第二个路由器就出现高延迟或高丢包,问题很可能出在你的本地网络(如家用路由器、光猫)或你的互联网服务提供商
    • 如果路径中间或末尾的路由器出现问题,则问题可能出在互联网骨干网目标服务器所在的网络
  3. 与网络管理员沟通:当你向ISP或网络管理员报告问题时,提供 pathping 的报告比只说“我上不了网”或“网速很慢”要专业和有效得多,管理员可以根据报告中的丢包和延迟数据,快速定位问题节点。


pingtracert 的对比

特性 ping tracert pathping
主要功能 测试与特定主机的连接性延迟 显示到达目标的路径(路由器列表) 显示路径并分析路径上每个节点的性能
提供信息 单次/多次的平均延迟、丢包率 路由器IP/主机名、每跳的延迟 每跳的平均延迟、丢包率
诊断深度 测试端到端 测试路径,但不分析节点性能 深度诊断,定位瓶颈节点
复杂度 简单 中等 较高,输出复杂
适用场景 快速检查某主机是否可达、延迟如何 查看数据包走了哪条路 深度网络故障排查、定位性能问题

pathping 是一个功能极其强大的网络诊断工具,虽然它的输出比 pingtracert 更复杂,但它提供的信息也更有价值,对于任何需要进行深入网络故障排查的用户或IT专业人员来说,熟练掌握 pathping 都是必备的技能,当你遇到 pingtracert 无法解释的网络问题时,pathping 大显身手的时候。

分享:
扫描分享到社交APP
上一篇
下一篇