Sun's Traceroute and HP nslookup


/usr/sbin/traceroute exists in Solaris 7 and 8.

I'd sure like to know what Sun's motivation was to do this to it:

finagle% netstat -rn

Routing Table:
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
xxx.yyy.zzz.64       xxx.yyy.zzz.92        U        3   1876  le0
aaa.bbb.ccc.0        aaa.bbb.ccc.129       U        2   1956  fddi0
224.0.0.0            xxx.yyy.zzz.92        U        3      0  le0
default              xxx.yyy.zzz.65        UG       0  15201  
127.0.0.1            127.0.0.1             UH       0  57191  lo0
finagle% which traceroute
/usr/sbin/traceroute
finagle% traceroute www.sun.com
traceroute: Warning: Multiple interfaces found; using aaa.bbb.ccc.129 @ fddi0
traceroute to www.sun.com (192.18.97.195), 30 hops max, 40 byte packets
 1  * * *
 ...

Why doesn't trace_route_ simply let the kernel _route_ the packet using the _rout_ing table? Trace_route_ should NOT be making any decisions like that for us. (And there's an option to do that if you really want to.)

Instead, it appears that traceroute selects the lexically-smallest non-local interface and informs you when it sees more than one.

The public-domain traceroute does not do this. Late news: Solaris 8 traceroute still does this but seems to route correctly.

I hate it when well-known diagnostic tools break like this. nslookup on HP-UX 11(?) is another example. nslookup is a diagnostic tool that is part of the BIND package. It's for debugging DNS. So why does it even mention an NIS server????

[3] % uname -a
HP-UX hploc B.10.20 A 9000/782 2016279116 two-user license
[4] % nslookup
Default NIS Server:  hostname
Address:  xxx.yyy.zzz.207

>