• Linux中网络排查命令traceroute


    traceroute命令尝试跟踪IP数据包到某个Internet主机的路由,方法是使用一个小ttl(生存时间)启动探测数据包,然后侦听来自网关的ICMP超时回复,它以ttl为1开始探测,并将其增加1,直到获得ICMP port unreachable或TCP reset,这意味着我们到达了host,或达到了最大值(默认为30跳),在每个ttl设置处发送三个探测(默认),并打印一行,显示ttl、网关地址和每个探测的往返时间,在请求时,地址后面可以有附加信息,如果探测结果来自不同的网关,则会打印每个响应系统的地址,如果在5.0秒内(默认值)没有响应,则会为该探测器打印一个*
    安装:

    yum -y install traceroute
    
    • 1

    参数:

    -4, -6: 显式强制IPv4或IPv6跟踪路由,默认情况下,程序将尝试解析给定的名称,并自动选择适当的协议,如果解析主机名同时返回IPv4和IPv6地址,则traceroute将使用IPv4。
    -I, --icmp: 使用ICMP ECHO进行探测。
    -T, --tcp: 使用TCP SYN进行探测。
    -d, --debug: 启用套接字级调试,如果内核支持的话。
    -F, --dont-fragment: 不要对探测数据包进行分段,对于IPv4它还会设置DF位,该位告诉中间路由器也不要进行远程分段。通过packet_len命令参数更改探测数据包的大小,可以手动获取有关单个网络跃点的MTU的信息。从Linux内核2.6.22开始,非碎片化功能(例如-F或--mtu)才能正常工作,在该版本之前,IPv6始终是零散的,IPv4只能使用一次(从路由缓存中)发现的最终mtu,它可能小于设备的实际mtu。
    -f first_ttl, --first=first_ttl: 指定要启动的TTL,默认为1。
    -g gate,..., --gateway=gate,...: 告诉traceroute向传出数据包添加IP源路由选项,该选项告诉网络通过指定网关路由数据包(出于安全原因,大多数路由器已禁用源路由),通常允许指定多个网关(以逗号分隔的列表)。对于IPv6允许使用num、addr、addr、...的形式,其中num是路由报头类型(默认为类型2),注意,根据rfc 5095,现在不赞成使用0型路由头。
    -i device, --interface=device: 指定traceroute应该通过其发送数据包的接口,缺省情况下,接口是根据路由表选择的。
    -m max_ttl, --max-hops=max_ttl: 指定traceroute探测的最大跳数(最大生存时间值),默认值为30。
    -N squeries, --sim-queries=squeries: 指定同时发送的探测报文数,同时发送多个探针可以大大提高跟踪路由的速度,默认值为16,注意某些路由器和主机可以使用ICMP速率限制,在这种情况下,指定太大的数字可能会导致某些响应丢失。
    -n: 在显示IP地址时不要尝试将它们映射到主机名。
    -p port, --port=port: 对于UDP跟踪,指定traceroute将使用的目的端口号,目标端口号将随每个探针递增,对于ICMP跟踪,指定初始ICMP序列值(每个探针也增加),对于TCP和其他协议,仅指定要连接的(恒定)目标端口,使用tcptraceroute包装程序时,-p指定源端口。
    -t tos, --tos=tos: 对于IPv4,设置服务类型TOS和优先级值,有用的值是16低延迟和8高吞吐量,要使用某些TOS优先级值,必须是超级用户,对于IPv6,设置流量控制值。
    -l flow_label, --flowlabel=flow_label: 对IPv6数据包使用指定的flow_label。
     -w MAX,HERE,NEAR, --wait=MAX,HERE,NEAR: 设置等待探测响应的时间,以秒为单位,默认为5.0。
    -q nqueries, --queries=nqueries: 设置每个跃点的探测数据包数,默认值为3。
    -r: 绕过常规路由表,并直接发送到连接的网络上的主机,如果主机不在直接连接的网络上,则返回错误,此选项可用于通过没有路由的接口对本地主机执行ping操作。
    -s src_addr, --source=src_addr: 选择一个备用源地址,请注意必须选择一个接口的地址,默认情况下使用传出接口的地址。
    -z sendwait, --sendwait=sendwait: 探测之间的最小时间间隔,默认值为0,如果该值大于10,则以毫秒为单位指定一个数字,否则为秒数,也允许使用浮点值,当某些路由器对ICMP消息使用速率限制时非常有用。
    -e, --extensions: 显示ICMP扩展名,通用格式为CLASS / TYPE即后跟十六进制转储,所示的MPLS多协议标签交换数据已解析,格式为MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (with any further objects separated by a slash ("/"))。
    -A, --as-path-lookups : 在路由注册表中执行AS路径查找,并在相应地址后直接打印结果。
    -M name  --module=name: 使用指定的模块(内置或外部)用于traceroute操作,大多数方法都有其快捷方式,例如-I表示-M icmp等。
    -O OPTS,..., --options=OPTS,...: 将特定于模块的选项OPTS用于traceroute模块,允许几个OPTS,以逗号分隔,例如如果OPTS是help,则打印帮助信息。
    --sport=num: 将源端口号用于传出数据包,表示为-N 1--fwmark=num: 为传出数据包设置防火墙标记。
    -U  --udp: 使用UDP到特定端口进行路由,而不是每个探针增加端口,默认端口为53。
    -UL: 使用UDP LITE进行路由,默认目标端口为53。
    -D  --dccp: 使用DCCP请求进行路由,默认端口为33434。
    -P prot  --protocol=prot: 使用协议保护的原始数据包进行路由。
    --mtu: 沿着被追踪的路径发现MTU,表示为-F-N 1。
    --back: 推断后向路径中的跳数,如果不同则打印。
    -V: 输出版本信息。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    指定IPv4查看路由信息。
    traceroute -4 www.google.com
    指定要启动的TTL,默认为1。
    traceroute -f 3 www.google.com
    不将IP地址解析为其域名。
    traceroute -n www.google.com
    设置每个跃点的探测数,默认为3。
    traceroute -q 1 www.google.com
    指定完整的数据包长度,默认是60字节的数据包。
    traceroute www.google.com 100
    设置要使用的目标端口,默认为33434。
    traceroute -p 20292 www.google.com
    traceroute -n -m 5 -q 4 -w 3 www.baidu.com
    说明: -n 显示IP地址,不查主机名, -m 设置跳数
    -q 4每个网关发送4个数据包 -w 把对外发探测包的等待响应时间设置为3秒
    探测包使用的基本UDP端口设置6888
    traceroute -p 6888 www.baidu.com
    绕过正常的路由表,直接发送到网络相连的主机
    traceroute -r www.baidu.com
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
  • 相关阅读:
    国庆假期day5
    【无标题】
    后端SpringBoot+前端Vue前后端分离的项目(二)
    CloudCompare&PCL ICP配准(点到面)
    Flyway报错源码分析——Validate failed: Migrations have failed validation
    镭神激光雷达和相机联合标定
    万字血书Vue—路由
    使用ffmpeg调用电脑自带的摄像头和扬声器录制音视频
    漏斗分析法、假设分析法
    Alma Linux - Primavera P6 EPPM 安装及分享
  • 原文地址:https://blog.csdn.net/weixin_45432833/article/details/133832743