Speaking of which, is anyone going to implement traceroute for UNIX which using icmp echo requests, instead of (semi-)random udp packets, as the ammo? This is one way which I think Microsoft out did the old UNIX implementations.
Then how come UNIX traceroute works in so many places where MSloth's traceroute falls flat on it's face? Remember, an ICMP packet doesn't generate TIME EXCEEDED messages in many applications. It's listed as something the system MAY implement, not SHOULD or MUST. Time exceeded messages are a MUST for UDP and TCP packets.
I've just got to be missing something here. Microsoft is confused about ICMP if they are really doing what you say. On Page 1 ("Introduction") of RFC 792: The ICMP messages typically report errors in the processing of datagrams. To avoid the infinite regress of messages about messages etc., no ICMP messages are sent about ICMP messages. [...] So, an ICMP [8,0] (Echo Request) whose TTL falls to 0 cannot cause an ICMP [11,0] (Time Exceeded) from an RFC 792 compliant gateway. BSD (all versions) gets this right. What gateways are doing this wrong, and are their vendors represented on NANOG? Or was RFC 792 amended and I didn't hear about it?