跟踪路由和跟踪路径的问题

跟踪路由和跟踪路径的问题

我在使用跟踪路由和跟踪路径时遇到问题。我正在用我的网络做一些测试,尝试 ping 和跟踪 Google DNS (8.8.8.8) 问题是,每次运行命令时,它都会向我显示不同的结果,我的意思是,有时跟踪已完成,有时似乎就像痕迹一样,它卡在默认网关上。跟踪路径也会发生同样的情况。我是通过电缆连接的,所以我不认为这是连接问题。测试期间正在运行对 8.8.8.8 的 ping 操作,并且从未停止过,因此我的 ISP 没有出现问题。有什么建议吗?

在此输入图像描述 在此输入图像描述

答案1

我能想到两件事。

1如您所知,路径是动态的,因此每个发出的跟踪路由可能涉及不同的跃点,这意味着每个节点上应用了不同的配置。有些人可能会拒绝 Linux 跟踪路由消息,因为 Linux 跟踪路由使用UDP协议端口号高于的数据包33434默认情况下,如果不允许这种类型的数据包,则会失败。除此之外,ICMP也可以像 DOS 一样出于安全原因拒绝数据包。

2因此,您应该使用以下参数运行traceroute以“强制”它仅使用ICMP消息:

traceroute 8.8.8.8 -I

手册页在选项部分引用了这一点:

-I, --icmp    Use ICMP ECHO for probes

对我来说,在“-I”选项traceroute的帮助下显示了一个额外的节点。

要回答有关traceroute消息的其他问题,它们被困在网关上:
它也可能是由于安全原因(例如双向速率限制)而产生的,因为traceroute可能会因发送和接收过多的探测和回复而导致风暴。速率限制可能会导致数据包受到限制,甚至丢弃高于可接受速率的数据包。
因此考虑使用另一个参数将同时发送的消息数降低到仅 1:

traceroute 8.8.8.8 -I -N 1

供参考UDP协议ICMP不是面向连接的协议,因此不传送其中一些数据包是可以接受的。

相关内容