Difference between “traceroute” and “traceroute -U”

networkingrouting

The manpage of traceroute says that the "-U" parameter (UDP probing) is the default, but I'm getting different results every time.

With "-U":

traceroute -U www.univ-paris1.fr
traceroute to www.univ-paris1.fr (193.55.96.121), 30 hops max, 60 byte packets
[...]
13  rap-vl165-te3-2-jussieu-rtr-021.noc.renater.fr (193.51.181.101)  59.445 ms  56.924 ms  56.651 ms
[...]
18  * paris1web.univ-paris1.fr (193.55.96.121)  23.797 ms  23.603 ms

but the normal traceroute gives me another result (never reaches the final node) – it's either "!X" or just exits after the maximum of 30 hops:

traceroute www.univ-paris1.fr
traceroute to www.univ-paris1.fr (193.55.96.121), 30 hops max, 60 byte packets
[...]
11  te1-1-paris1-rtr-021.noc.renater.fr (193.51.189.38)  28.147 ms  28.250 ms  28.538 ms
[... non-responding nodes ...]
28  site-1.03-jussieu.rap.prd.fr (195.221.126.58)  85.941 ms !X * *

Note: I tried this very often and always get the same results. The path in my local network is always the same.

So what does the "-U" parameter actually change here? I'm especially interested what the reason for "!X" could be (communication administratively prohibited).

EDIT: If that helps, paris-traceroute gives me the following for the last hop:

14 P(1, 6) site-1.03-jussieu.rap.prd.fr (195.221.126.58) 34.938 ms !5 !T2

which means that node discards the packet with TTL=2 and returns an unknown message (not "destination unreachable" or the like).

Best Answer

In my man page, " -U Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

So with -U, traceroute use 53/udp port, and without a random port. Then, this port is maybe blacklisted on the firewall it is why you have the !X