why linux traceroute use UDP instead of ICMP ?
hi,
Why linux traceroute uses UDP protocol, we have basic ICMP protocol which is used in MS-windows tracert. Any specific use of traceroute using with UDP,TCP than ICMP? Windows is displaying all HOPs address but linux printing *.*.* Please explain the reason. cheers Nagesh |
Take a look at the manpage. If you want, you can use the -I option to use ICMP ECHO instead of UDP packets. However, you need to do so as root. The default can be performed by a regular user.
|
Quote:
what is advantage of using UDP over ICMP? cheers Nagesh |
The advantage is that you don't need to be the root user. In your example, the route was incomplete. Using the -I option, you get all of the addresses.
Code:
|
if ICMP requires root permission then "PING" also using ICMP but ping not requires root privileges.ping works for all users.
|
ICMP tends to be a router or switch setting that may be selected to be dropped when traffic numbers reach a pre-determined point. Say when tcp traffic is 40% limit icmp traffic. ICMP would be a very subjective traffic on any network that you don't fully control.
|
could you please explain clearly...
"ping & traceroute -I using ICMP packets but why traceroute -I requires root why not for ping" |
Quote:
|
no specific answer with me but my opinion.
ICMP echo request/replies are normally blocked on the routers/gateways. So if you use the echo request for traceroute, you wont get a proper reply most of the time. But it will work perfectly if you use UDP/TCP way. HTH, -jork |
All times are GMT -5. The time now is 10:38 AM. |