What is the difference between traceroute from traceroute and inetutils-traceroute

9,812

Solution 1

There are several implementations of traceroute. From Dmitry Butskoy's traceroute package homepage:

It is well-known application, appeared long time ago. Since 2000, its initial implementation is not developed, and does not follow the modern network needs. There was already some attempts to continue or re-write it, or to create similar application with additional features, but mostly such works either provides things partially or have considerably different interface.

This code was written from the scratch, using some ideas of Olaf Kirch's traceroute, the original implementation of Van Jacobson and some current BSD's ones. It is fully compatible with the original traceroute from Van Jacobson, wide used before for years.

The inetutils-traceroute implementation is from the GNU Network Utilities project, which includes several networking tools.

The individual utilities were originally derived from the 4.4BSDLite2 distribution, although some of them have more or less been rewritten.

The traceroute implementation from here is somewhat minimal compared to Dmitry's. There are few new options compared to the original 4.4BSDLite2 implementation.

You'd usually use the more full featured implementation by Dmitry.

Solution 2

Even if Dmitry's traceroute is better, the packaging is worse. It requires root to do many of its functions.

This was badly worked around on the inetutils-traceroute package, that makes traceroute suid.

The proper fix would be for both packages use libcap2-bin "setcap" and give themselves the cap_net_raw+ep capability, which is the only "root" power they need to do everything they require.

Share:
9,812

Related videos on Youtube

Jiri
Author by

Jiri

Updated on September 18, 2022

Comments

  • Jiri
    Jiri 3 months

    When I wanted to use traceroute in Ubuntu, I got this message:

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

    I tried both packages and traceroute util works in both of them but they are different. Why are there 2 different util and what benefits or advantages each of them have? I could not find good source or comparison.

    • tehnicaorg
      tehnicaorg over 4 years
      Not answering your question directly, but you may want to use tracepath or even mtr instead of traceroute (they are installed by default). Anyhow, traceroute has priority optional, and inetutils-traceroute is extra.
  • Byte Commander
    Byte Commander almost 5 years
    So traceroute is the more modern and feature-rich version whereas inetutils-tracereoute is the traditional implementation, right? Good to know, thanks.
  • muru
    muru almost 5 years
    @ByteCommander I'm not entirely sure on that. inetutils didn't include traceroute until 1.6 (from 2008). I think they may have just added a from-scratch, minimal traceroute-like tool.
  • nealmcb
    nealmcb over 2 years
    FWIW, On Ubuntu 18.04, I don't need root to run Dimitry's one, in the traceroute package without options. I note this in the README: UDP methods do not require root privileges. Perhaps that's what you mean by "many of its functions". Root is needed for the -I option, e.g. I guess since I often don't need anything but the default udp behavior, having it not be setuid seems safer. But your suggestion sounds best.