我是Linux用户。我在Linux上运行了traceroute,在Windows上运行了tracert。在Linux上,我只会得到星号。在Windows上,一切似乎都很好。这是输出
Windows:

Linux铸币厂:

为什么会发生这种情况,我能做些什么来解决这个问题呢?
发布于 2013-04-16 19:03:08
造成这种差异的一个可能原因是默认情况下窗口的tracert使用ICMP,而Linux traceroute默认为UDP。对traceroute使用-I选项会产生与tracert相同的结果:
traceroute -w 10 -I google.it来自traceroute文档:
在现代网络环境下,由于防火墙的广泛应用,传统的traceroute方法并不总是适用的。这样的防火墙过滤“不太可能”的UDP端口,甚至ICMP回音。为了解决这个问题,还实现了一些额外的跟踪方法(包括tcp),请参阅下面的可用方法列表。这类方法试图使用特定的协议和源/目的端口,以绕过防火墙(将防火墙视为允许的网络会话类型的开始)。通常,特定的traceroute方法可能必须由-M名称来选择,但大多数方法都有它们简单的cmdline开关(如果存在,您可以在方法名称之后看到它们)。默认传统的、古老的追踪方法。默认使用。探测包是具有所谓“不可能”目标端口的udp数据报。第一个探针的“不可能”端口是33434,然后每个下一个探针的端口增加一个。由于预期端口未使用,目标主机通常返回"icmp不可访问端口“作为最终响应。(但是,没有人知道当某些应用程序侦听这样的端口时会发生什么)。
发布于 2019-09-13 19:38:26
试试这个:
traceroute -M icmp google.ithttps://unix.stackexchange.com/questions/72662
复制相似问题