首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Traceroute诉tracert

Traceroute诉tracert
EN

Server Fault用户
提问于 2019-10-19 08:19:16
回答 2查看 2.5K关注 0票数 7

我有以下问题:

从Windows 7运行tracert会将所有的跃点返回给给定的服务器。从Fedora 30运行traceroute,使用相同的连接和相同的目的地,在网关IP之外只返回* **。

请你解释一下为什么它在Windows上工作,但是Fedora没有工作吗?有什么关系?

另外,当我从Fedora运行时,您能告诉我如何使traceroute返回跳吗?

EN

回答 2

Server Fault用户

发布于 2019-10-19 09:44:02

Windows的tracert在递增TTL以执行探测时使用ICMP:

如何使用TRACERT实用程序,TRACERT诊断实用程序通过向目的地发送Internet控制消息协议(ICMP)回送数据包来确定到目的地的路由。

默认情况下,软呢帽's traceroute发送UDP探测,就像以前Unix traceroute实现所做的那样。UDP是默认的(除了在编写这个答案之前做了一次捕获检查)来自男人,它首先谈到UDP:

我们不希望目标主机处理UDP探测包,因此目标端口被设置为一个不太可能的值(您可以使用-p标志来更改它)。ICMP或TCP跟踪不存在这样的问题(对于TCP,我们使用半开放技术,这样可以防止目标主机上的应用程序看到我们的探测)。

这两个工具都希望接收超过ICMP时间作为构建路由的响应。

沿着这条路径,各种路由器可能会根据所使用的探测方法选择不同的应答方式(即:根本不回答)。

如果您知道ICMP探测对您的测试工作得更好,您可以在Fedora上做同样的操作:

代码语言:javascript
复制
traceroute --icmp destination

由于ICMP与UDP相反,通常需要制作特殊的数据包,因此命令可能需要根特权才能使用此选项运行。

票数 8
EN

Server Fault用户

发布于 2020-08-16 21:09:40

这就是不同之处:

  • tracert:使用ICMP
  • traceroute:使用UDP

我不得不说,tracert最近已经成为我最喜欢的工具:

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/988650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档