traceroute命令详解

发布时间 2023-06-26 15:10:13作者: liuyang9643

traceroute命令详解

traceroute命令用于显示数据包到主机间的路径,预设数据包大小是40Bytes。
安装命令: yum install traceroute
命令格式: traceroute [-46dFITUnreAV] [-f 存活数值] [-g 网关] [-i 网络界面] [-m 存活数值] [-p 端口] [-s 来源地址]

[-q 探测包数] [-N 探测报文数] [-t 服务类型] [-l flow_label] [-w 超时秒数] [-z 最小时间间隔] [-UL] [-D]

[-P 协议] [--sport=源端口] [-M 指定方法] [-O 方法特定的选项] [--mtu] [--back] 主机名称或IP地址 [数据包大小]

option:

  • -4、-6:明确强制使用IPv4或IPv6跟踪。 默认情况下,程序将尝试解析给定的名称,并自动选择适当的协议。 如果解析主机名同时返回IPv4和IPv6地址,请跟踪路由将使用IPv4
  • -I --icmp:使用ICMP ECHO进行探测
  • -T --tcp:使用TCP SYN进行探测
  • -d --debug:启用套接字级别调试(Linux内核支持时)
  • -F --dont-fragment:不对探测数据包进行分段
  • -f --first=first_ttl:指定从哪个TTL开始。 默认为1
  • -g --gateway=gateway:告诉traceroute向传出数据包添加一个IP源路由选项,该选项告诉网络通过指定的网关路由数据包
  • -i --interface=interface:指定跟踪路由应通过其发送数据包的接口。默认情况下,根据路由表选择接口
  • -m --max-hops=max_ttl:指定traceroute将探测的最大跃点数(最长生存时间值)。默认值为30
  • -N --sim-queries=squeries:指定同时发送的探测数据包数。同时发送几个探测可以大大加快traceroute的速度。默认值为16。请注意,某些路由器和主机可以使用ICMP速率限制。在这种情况下,指定太大的数字可能会导致某些响应丢失
  • -n:显示IP地址时不要尝试将其映射到主机名
  • -p --port=port:对于UDP跟踪,指定基本跟踪路由将使用的目标端口(目标端口号将由每个探测递增)。对于ICMP跟踪,指定初始ICMP序列值(每个探测也递增)。对于TCP和其他协议,只指定要连接的(常量)目标端口。
  • -t --tos=tos:对于IPv4,设置服务类型(TOS)和优先级值。有用的值是16(低延迟)和8(高吞吐量)。请注意,为了使用某些TOS优先级值,您必须是超级用户。对于IPv6,设置流量控制值。
  • -l --flowlabel=flow_label:对IPv6数据包使用指定的流量标签
  • -w --wait=waittime:设置等待探测器响应的时间(秒)(默认为5.0秒)。
  • -q --queries=nqueries:设置每个跃点的探测数据包数。默认值为3。
  • -r:绕过常规路由表,直接发送到连接网络上的主机。如果主机不在直连网络上,则返回错误
  • -s --source=source_addr:选择另一个源地址。请注意,您必须选择其中一个接口的地址。默认情况下,使用传出接口的地址
  • -z --sendwait=sendwait:两次探测之间的最小时间间隔(默认为0)。 如果该值大于10,则以毫秒为单位指定一个数字,否则以秒为单位(也允许使用浮点值)。 当某些路由器对ICMP消息使用速率限制时很有用。
  • -e, --extensions:显示ICMP扩展(rfc4884)。 通用格式为CLASS / TYPE:后跟十六进制转储。 所示的是MPLS(rfc4950)的解析形式:MPLS:L = label,E = exp_use,S = stack_bottom,T = TTL(更多对象用/分隔)。
  • -A, --as-path-lookups:在路由注册表中执行AS路径查找,并在相应地址后直接打印结果
  • -V, --version:输出版本信息
  • --sport=port:选择要使用的源端口
  • -M method, --module=name:使用指定的方法进行traceroute操作。 默认的传统udp方法的名称为default,icmp(-I)和tcp(-T)的名称分别为icmp和tcp。
    特定于方法的选项可以由-O传递
  • -O option, --options=options:指定一些方法特定的选项。 多个选项用逗号分隔
  • -U, --udp:使用UDP到特定的目标端口进行路由(而不是增加每个探针的端口)。 默认端口为53(dns)。
  • -UL:使用UDPLITE进行路由(默认端口为53)
  • -D --dccp:使用DCCP请求进行探测。
  • -P --protocol=protocol:使用指定协议的原始数据包进行路由。 默认协议是253
  • --mtu:沿着被追踪的路径发现MTU
  • --back:当向后跳跃的次数与向前跳跃的次数不同时,打印向后跳跃的次数。假设远程跃点发送的回复包的初始ttl设置为64、128或255(这似乎是一种常见的情况),那么就可以猜出这个数字