现在的位置: 首页 > 综合 > 正文

IBM AIX 5L V5 命令详解

2013年12月07日 ⁄ 综合 ⁄ 共 3194字 ⁄ 字号 评论关闭
文章目录

traceroute 命令

用途

显示 IP 信息包至某个网络主机的路由。

语法

traceroute [ -m Max_ttl ] [ -n ] [ -p Port ] [ -q Nqueries ] [ -r ] [ -s SRC_Addr ] [  -t TypeOfService ] [ -v ] [  -w WaitTime ] Host [ PacketSize ]

描述

 

提示:traceroute 命令旨在用于网络测试、评估和管理。它应主要用于手动故障隔离。由于它对网络施加的负荷, traceroute 命令不应用于正常的操作中或自动脚本。

traceroute 命令试图跟踪 IP 信息包至某个因特网主机的路由,其具体方法是:先启动具有小的最大存活时间值(Max_ttl 变量)的 UDP 探测信息包,然后侦听从网关开始一路上的 ICMP TIME_EXCEEDED 响应。探测以一个一跳跃位的 Max_ttl 值开始,该值一次增加一个跳跃值,直至返回 ICMP PORT_UNREACHABLE 消息。ICMP PORT_UNREACHABLE 消息可以指出主机已经被定位,或命令已经达到允许跟踪的最大跳跃数目。

traceroute 命令在每一个 Max_ttl 设置上发送三个探测值以记录以下一些内容:

  • Max_ttl
  • 网关地址
  • 每次成功探测的往返时间

通过使用 -q 标志,可以增加发送的探测数目。如果探测的回答来自不同的网关,则命令会显示各个响应系统的地址。如果在 3 秒的超时时间间隔中没有来自探测的应答,则会针对该探测显示出 *(星号)。

如果 Max_ttl 值为一个跳跃或更小,则 traceroute 命令会在往返时间后显示一个“!”(感叹号)。一个跳跃或更小的最大存活时间值一般都指出了不同网络软件处理 ICMP 应答的方式的不兼容性。不兼容性通常是通过将上次使用的 Max_ttl 值加倍并再次尝试来解析的。

在往返注释后,其他可能的注释有:

!H 主机不可到达
!N 网络不可达
!P 协议不可达
!S 源路由失败
!F 需要碎片

如果有许多探测都产生某一错误,则 traceroute 命令退出。

traceroute 命令唯一的强制性参数就是目标主机名称或 IP 数字。traceroute 命令将根据输出接口的最大传输单元(MTU)确定探测信息包的长度。UDP 探测信息包被设置为一个不可能的值,以防止目标主机的处理。

标志

 

-m Max_ttl 设置用于输出探测信息包的最大存活时间(最大的跳跃数)。缺省值为 30 个跳跃(TCP 连接也使用相同的缺省值)。
-n 以数字方式而不以符号加数字的方式显示跳跃地址。该标志为在路径上找到的每个网关保存名称服务器的“地址到姓名”查询。
-pPort 设置用于探测的基本 UDP 端口号。缺省值为 33434。 traceroute 命令取决于目标主机的开放式 UDP 端口范围,basebase + nhops - 1。如果 UDP 端口不可用,则该选项可以用于选择一个未曾使用的端口范围。
-q Nqueries 指定 traceroute 命令在每个 Max_ttl 设定值处发出的探测数目。缺省值为三次探测。
-r 忽略正常的路由表,并直接发送探测信息包至已链接网络上的主机。如果指定的主机不在直接连接的网络上,则返回一个错误。该选项可以用于通过 routed 守护程序路由表中未注册的接口向本地主机发出 ping命令。
-s SRC_Addr 以数字格式将下一 IP 地址用作输出探测信息包的源地址。在具有多个 IP 地址的主机上,可以用 -s 标志来强制源地址成为不同于探测软件包被发送到的那个接口的 IP 地址的其他内容。如果下一个 IP 地址不是机器接口地址之一,则返回一个错误且不发送任何内容。
-t TypeOfService 将探测信息包中的 TypeOfService 变量设置为 0 到 255 范围内的一个十进制整数。缺省值为 0。该标志可用于调查不同的服务类型是否产生了不同的路径。有关更多信息,请参阅《网络与通信管理》中的『TCP/IP 协议』。有用的数值为 -t 16(低延迟)和 -t 8(高吞吐量)。
-v 接收除 TIME_EXCEEDEDPORT_UNREACHABLE 以外的信息包(详细输出)。
-w WaitTime 设置等待探测响应的时间(以秒计)。缺省值为 3 秒。

参数

 

Host 通过主机名或 IP 数字指定目标主机。该参数是必要的。
PacketSize 指定探测数据报长度。缺省信息包大小可以通过 traceroute 命令根据输出接口的 MTU 来确定。

示例

  1. 一个使用和输出的样本为:

     

    [yak 71]% traceroute nis.nsf.net.
    traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 56 byte packet
     1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms
     2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
     3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
     4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms
     5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms
     6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms
     7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms
     8 129.140.70.13 (129.140.70.13) 99 ms 99 ms 80 ms
     9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms
    10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms
    11 nic.merit.edu (35.1.1.48) 239 ms 239 ms 239 ms

    由于第二个跳跃系统(lbl-csam.arpa)内核中的错误(向前转发了零存活时间的信息包),结果第二行和第三行相同。在第 6 到第 10 行中,不显示主机名称,因为国家科学基金会网络(NSFNet,129.140)不提供其节点的地址到名称的转换。

  2. 另外一个输出样本如下:

     

    [yak 72]% traceroute rip.Berkeley.EDU (128.32.131.22)
    traceroute to rip.Berkeley.EDU (128.32.131.22), 30 hops max
     1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms
     2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms
     3 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 39 ms 19 ms
     4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 19 ms
     5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms
     6 csgw/Berkeley.EDU (128.32.133.254) 39 ms 59 ms 39 ms
     7 * * *
     8 * * *
     9 * * *
    10 * * *
    11 * * *
    12 * * *
    13 rip.Berkeley.EDU (128.32.131.22) 59 ms! 39 ms! 39 ms!

    在本示例中,恰好“丢失”了 12 个网关跳跃的一半(13 是最后的目标)。但是,这些跳跃实际并不是网关。目标主机,一个运行 Sun OS3.5 的 Sun-3 工作站,将来自到达数据报的 ttl 用作其 ICMP 回复的 ttl,因此回复会在返回路径上发生超时。由于 ICMP 不是对 ICMP 发送的,因此不会接收到任何通知。每个往返时间后的 !(感叹号)指示某种类型的软件不相兼容性问题。(其原因是在 traceroute 命令发布一个两倍路径长的探测之后进行诊断。目标主机实际只是在 7 个跳跃以外。)

【上篇】
【下篇】

抱歉!评论已关闭.