Challenge the net:
3d Traceroute

 
Get your
free beta
 
Freeware: 2.4.39.2 Release date: 2008-03-24
PRO: 2.4.39.2 Release date: 2008-03-24
Freeware Beta 2.3.33.56 Release date: 2008-01-06
PRO Beta 2.3.34.58 Release date: 2008-03-07
 

Trace with ICMP, UDP and TCP

Different trace types with different results. Normally a ICMP trace will do the job. But it is possible that ICMP does not show the real picture: routers can use different priorities for 'normal' and ICMP traffic. So a UDP trace reveals a more realistic picture.

But sometimes even a UDP trace does not work. Let us hunt a chicken:

commandline trace:

Target not reachable. Some sort of firewall. No surprise, 3d Traceroute shows the same results with its ICMP trace (not shown here). Let us try a UDP trace:

No difference. Hop 17 is the end. And it is not 64.236.16.84 as expected.

Ok, now let us do a TCP trace:

Wow, 4 more computers. Actually we seem to see 'internal' routers, firewalls and some sort of load balancing system (?) cnn uses. Let us look up the ASN for hop 21:

route: 64.236.16.0/20
descr: CNN
origin: AS5662
mnt-by: MAINT-AS-AOL
changed: toan@aol.net 20020314
source: AOLTW

Looks plausible...

(Remark: resolving www.cnn.com might show different IP numbers. It depends on location, daytime and whatever.)

Different pathes for different Types of Service

Yes, it can happen: Mostly due to load balancing sometimes packets with different type-of-service are routed differently. Here is an example:

So only a UDP/TCP-trace shows the real picture.

(Type of service in this case UDP/TCP packets, not by TOS-flag.)

So how to trace? ICMP, UDP or TCP?

Use ICMP or UDP. ICMP gives a good picture most of the time. Perhaps by default use UDP, it might give a better picture but has different drawbacks.

Only use TCP in case neither ICMP nor UDP work. TCP has to use some protocol tricks that bind resources on your and the traced side. So it does generate a little higher load and might not be considered 'friendly' (if you meet a yellowbelly admin).

Problems

ICMP/Ping: it is the 'default' way the Internet Protocolls suggest to do a trace. Fails to work if routers or servers don't answer these type of message.

UDP: Fails finding the endpoint of a trace in case of a listener is accepting our trace packet (at the endpoint). This is avoided by using random ports and sending packets to different ports every time. So it should happen only rare.

TCP: Fails if an intrusion detection system sees our attempt and blocks it.

Limitation

UDP and TCP tracing needs raw sockets.

 
Impressum
quittengelb