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

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.


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.