mtr versus pot (plain ole traceroute)
It drives me nutso when someone reinvents the wheel and then the reinvention becomes more popular than the actual wheel. Usually it happens with some kind of great slogan explaining why this wheel is better. “New WHEEL! Now with more ROUND!” or “Much like previous so-called WHEELs, but NEW WHEEL is avaiable in 5 pastel colors!”
With that in mind, I finally broke down and took a look at Matt’s Traceroute, mtr. (Ok, ok. Now it’s “My Traceroute”, but that’s even dumber than “Matt’s Traceroute”.)
According to MTR’s website, “mtr combines the functionality of the ‘traceroute’ and ‘ping’ programs in a single network diagnostic tool”. They go on to explain that mtr sends out ICMP echo requests with modified TTLs in order to discover the routers along a route and determine statistics for each router. Fantastic. So it’s traceroute -I.
In general, I’m not a fan of traceroutes that use ICMP instead of UDP. I’ve found ICMP too often receives special-case low-priority processing that provides misleading results. It used to be that ICMP was filtered more rigorously than UDP, but (strangely) this seems to be diminishing. Also programs generating ICMP have to be run as the superuser or left setuid, and who wants that?
The UI to MTR is pretty compelling, though. I thought I was going to hate the ncurses interface, but it turns out that I only want to hate it. You know.. like I want to hate top but end up using it anyway. The point of MTR seems to be to run a traceroute over and over. That’s pretty neat, though it’s something I hardly ever need. MTR also does a better job of displaying multiple routers per hop as well.
Other than the interface, I don’t see much value-add. There’s a lot less in the way of configurable options. The other side of that coin is that I’d really have to stretch to fabricate reasons not to use it as well. For general purpose use, the only really annoying thing is that you have to run it as root.
I’ll probably continue to avoid it for the same reason I avoid ruby-on-rails. Until I need it, of course.