traceroute 和 inetutils-traceroute 之间的区别是什么

traceroute 和 inetutils-traceroute 之间的区别是什么

当我想traceroute在 Ubuntu 中使用时,收到以下消息:

traceroute www.google.com
The program 'traceroute' can be found in the following packages:
 * inetutils-traceroute
 * traceroute
Try: sudo apt-get install <selected package>

我尝试了这两个包,traceroute这两个包中的实用程序都可以使用,但它们是不同的。为什么有两个不同的实用程序,它们各自有什么好处或优势?我找不到好的来源或比较。

答案1

有几种实现traceroute。从Dmitry Butskoy 的traceroute软件包主页

它是一款著名的应用程序,出现已久。自 2000 年以来,它的初始实现一直未得到开发,并且不符合现代网络需求。已经有一些尝试继续或重写它,或创建具有附加功能的类似应用程序,但大多数此类作品要么提供部分功能,要么界面有很大不同。

此代码是从头编写的,使用了 Olaf Kirch 的 traceroute 的一些想法、Van Jacobson 的原始实现以及当前 BSD 的一些实现。它与 Van Jacobson 的原始 traceroute 完全兼容,该 traceroute 之前已广泛使用多年。

实施inetutils-traceroute来自GNU 网络实用程序项目,其中包括几个网络工具。

各个实用程序最初源自 4.4BSDLite2 发行版,尽管其中一些或多或少已被重写。

与 Dmitry 的相比,这里的 traceroute 实现有些简单。与原始 4.4BSDLite2 实现

您通常会使用 Dmitry 提供的功能更全面的实现。

答案2

即使 Dmitry 的 traceroute 更好,但打包效果较差。它的许多功能都需要 root 权限才能执行。

这是糟糕地解决了 inetutils-traceroute 包的问题,​​使得 traceroute 具有 suid 功能。

正确的解决方法是两个都软件包使用 libcap2-bin “setcap” 并赋予自己 cap_net_raw+ep 功能,这是他们完成所有需要做的事情所需的唯一“根”权力。

相关内容