Traceroute在Linux上不起作用,在Windows上却可以


8

我是Linux Mint用户。我在Linux上运行traceroute,在Windows上运行tracert。在Linux上,我只会得到星号。在Windows上,一切似乎都能正常运行。这是输出

视窗:

视窗

Linux Mint:

Linux Mint

为什么会发生这种情况,我有什么办法可以解决这个问题?


您可以从Linux Mint系统访问Internet吗?这些操作系统都在同一台PC上运行吗?作为双重引导还是使用虚拟化?
2013年

1
拒绝投票,原因与@depquid评论相同。这个问题缺乏许多关键信息来解决。
bagavadhar

2
我认为他不应该为此受到任何否决。这里有足够的信息可以提供答案。
jordanm

1
我不是在寻求投票,只是在寻找答案,所以我不会为自己辩护:)当然,我可以访问Internet,在我看来这是一个微不足道的问题。很抱歉没有写这台机器:是的,它是相同的(双引导)
路易吉(Luigi

Answers:


14

造成这种差异的可能原因是,默认情况下Window tracert使用ICMP,而Linux traceroute默认使用UDP。使用-Itraceroute选项应产生与以下结果相同的结果tracert

traceroute -w 10 -I google.it

traceroute文档中:

在现代网络环境中,由于防火墙的广泛使用,传统的traceroute方法不能总是适用。这样的防火墙过滤“不太可能”的UDP端口,甚至ICMP回声。为解决此问题,实现了一些其他的跟踪方法(包括tcp),请参见下面的可用方法列表。此类方法尝试使用特定的协议和源/目标端口,以绕过防火墙(防火墙将其视为网络会话允许的类型的开始)。

可用方法列表

通常,可能必须通过-M名称选择特定的traceroute方法,但是大多数方法都有其简单的cmdline开关(如果存在,您可以在方法名称后看到它们)。

默认

传统的古代寻迹方法。默认使用。

探测数据包是带有所谓“不太可能”目标端口的udp数据报。第一个探针的“不太可能”端口为33434,然后对于每个下一个探针将其递增1。由于期望端口未使用,因此目标主机通常会返回“ icmp unreach port”作为最终响应。(不过,没人知道当某些应用程序侦听此类端口时会发生什么情况)。


这对我不起作用。给出相同的结果。
Goose Goose 2013年

0

尝试这个:

traceroute -M icmp google.it

3
如果您可以编辑问题并解释问题的原因以及为什么它可以解决所描述的问题,那就更好了。
roaima

ICMP从来都不是解决网络问题的好工具(您也可以使用ping,而无需traceroute -M)。如果您尝试评估HTTP连接性(我猜这是根据问题中使用的名称),那么您需要执行HTTP查询,该查询通常为TCP / 80或TCP / 443。因此,您可以使用tpctraceroute它。
Patrick Mevzek
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.