This is the original program. It sends out UDP packets with short TTLs and picks up the resulting TTL exceeded ICMP packets, along with the times. You can see that I ran it with 'TIME' so that I coould see just how log it took to run.
The results are displayed in microseconds
This is the Microsoft version of TraceRoute. It sends out ICMP echo request packets (ping) with short TTLs and picks up the resulting TTL exceeded ICMP packets, along with the times.
The results are displayed in milliseconds
This is another go by Microsoft. It sends out ICMP echo request packets (ping) with short TTLs and picks up the resulting TTL exceeded ICMP packets, along with the times. The difference is that it then does a bit more analysis.
The results are displayed in milliseconds
This one is quite flexible in the way that it works. It sends out packets with short TTLs as all of the other programs above do but you can vary the type of packet that is sent. Also, it can adapt so that it can travel through some firewalls. It is shown above in two runs: one using ICMP packets; and, the other with UDP packets.
The results are displayed in tenths of milliseconds
The time take to perform this ananlysis can be important so here is a table of how long it took (figures taken from the packet stream sniffed by Ethereal/Wireshark and each run was not the first (ie, DNS caches enroute already had the appropriate information).
Program | Platform | Outbound packet type | Scan time /S | Total Time /S | Displayedtime / microseconds |
---|---|---|---|---|---|
Traceroute | UNIX | UDP | 0.838 | 0.838 | 1 |
Tracert | DOS | ICMP | 77.939 | 77.939 | 1,000 |
PathPing | DOS | ICMP | 54.612 | 138.890 | 1,000 |
LFT (ICMP) | UNIX | ICMP | 38.169 | 38.323 | 100 |
LFT (UDP) | UNIX | UDP | 42.336 | 42.514 | 100 |
It must be said that judging where exploration finishes and verification starts (they seem to happen pretty much at the same time on traceroute and tracert and there is less than a second's difference with LFT) although the important figure is the total time for the program to run.