Network Utility – Why Traceroute Works in Command Line but Not in Network Utility

Network

I am diagnosing some mysterious network latency that comes and goes with my wife's MacBook Pro.

As part of this diagnostic work, I fired up Network Utility and used its interface to traceroute to trace the route to www.google.com. Somewhat oddly, all of the results were of the * * * variety.

Suspicious, I opened up traceroute directly from Terminal and issued traceroute www.google.com. There was a * * * from the second hop (right after my 10.0.0.1 entry) but then everything flowed normally.

I then eliminated DNS issues by using traceroute against the IP address directly.

This behavior happens on all Macs in our house, so it's not computer-specific.

Here is the output from the command line (which worked):

traceroute to 173.194.33.116 (173.194.33.116), 64 hops max, 52 byte packets
 1  10.0.0.1 (10.0.0.1)  115.994 ms  1.265 ms  1.816 ms
 2  * * *
 3  te-5-2-ur02.bremerton.wa.seattle.comcast.net (68.87.205.57)  14.209 ms  12.736 ms  11.514 ms
 4  ae-22-0-ar03.seattle.wa.seattle.comcast.net (69.139.164.153)  18.753 ms  14.804 ms  15.076 ms
 5  he-1-4-0-0-10-cr01.seattle.wa.ibone.comcast.net (68.86.94.237)  19.233 ms
    he-1-7-0-0-10-cr01.seattle.wa.ibone.comcast.net (68.86.91.165)  18.523 ms
    he-1-12-0-0-10-cr01.seattle.wa.ibone.comcast.net (68.86.93.173)  16.625 ms
 6  he-0-11-0-1-pe04.seattle.wa.ibone.comcast.net (68.86.85.38)  15.435 ms  21.009 ms  14.535 ms
 7  23.30.207.2 (23.30.207.2)  16.739 ms  14.500 ms  15.909 ms
 8  209.85.249.34 (209.85.249.34)  16.002 ms  17.200 ms  16.781 ms
 9  209.85.244.63 (209.85.244.63)  15.472 ms  17.927 ms  15.836 ms
10  sea09s16-in-f20.1e100.net (173.194.33.116)  15.860 ms  27.057 ms  16.399 ms

And here is the output from Network Utility:

Failed Network Utility traceroute

Leaving aside the &)$(*^#& problem that I'm actually trying to solve, what would account for why the two traceroute invocations would produce different output? If it matters, traceroute-via-Network-Utility never works; the command line always does.

Best Answer

Network Utility is using ICMP rather than the default UDP protocol used by traceroute. You can use the -I flag to get the same behaviour on the command line:

traceroute -I 173.194.33.116

I don't know of any way to force Network Utility to use UDP.

One explanation for this could be that your firewall/router is configured to block ICMP packets.