Any protocol used by TRACEROUTE
: ICMP
or UDP
or IP ?
Or use them all : Encapsulation ?
Any protocol used by TRACEROUTE
: ICMP
or UDP
or IP ?
Or use them all : Encapsulation ?
This question has been addressed by Ladadadada here : Does traceroute use UDP or ICMP or both?
The type of packet that is sent differs depending on the implementation. By default Windows tracert uses ICMP and both Mac OS X and Linux traceroute use UDP. I don't have BSD or Solaris machines or any other OS on hand to check but the man page for the Mac OS X version mentions its provenance is BSD 4.3.
The Mac and Linux versions I have offer the ability to choose a variety of different protocols including ICMP, TCP, UDP and GRE packets. Other protocols can be specified by their name or number but traceroute doesn't know anything about how other protocols work. It just blindly sends them.
For traceroute (under GNU/Linux), the man page here indicates you to arguments to use in order to specify another protocol than UDP:
-I Use ICMP ECHO for probes
-T Use TCP SYN for probes
...
ICMP and UDP are both encapsulated in IP packets. Hope it helps :)
By default, Traceroute, uses UDP, ICMP Echo Request or TCP SYN packets can also be used. If you used tracroute -T you will be using TCP SYN for probes, while if you used traceroute -I you will be using icmp echo packets for probes.