From Bugzilla Helper: User-Agent: Mozilla/5.0 Galeon/1.2.7 (X11; Linux i686; U;) Gecko/20030131 Description of problem: The traceroute program is giving me an "Icmp checksum is wrong" error message when run with a packet length of greater than 484 bytes. As far as I can tell the packet is fine (at least ethereal doesn't seem to complain). /proc/sys/net/ipv6/conf/eth0/mtu shows 1500. Version-Release number of selected component (if applicable): traceroute-1.4a12-9 How reproducible: Always Steps to Reproduce: 1. traceroute -n -q 1 bc 485 Actual Results: traceroute to bc (192.168.5.7), 30 hops max, 485 byte packets Icmp checksum is wrong 1 192.168.5.7 4.916 ms Expected Results: No error message Additional info: I don't think this is a security issue, but note that traceroute is setuid root. (my kernel is kernel-2.4.20-20.9)
This one is still present in AS3, FC1 and FC2 on the i686 platform. Tested with traceroute-1.4a12-20, traceroute-1.4a12-20.1 and traceroute-1.4a12-21.1 Strangely the error message seems only to appear when tracerouting to linux servers.
I've reproduce the bug here. The wierd thing is that even if i use the checksum code of Ethereal i get the error message, so my guess would be that the Linux router doesn't calculate the checksum correctly on the server side (which would be very wierd, but possible). I'll see if i can nail it down some more, but i don't have high hopes in the near future. Read ya, Phil
Correct me if I'm wrong but shouldn't be icmp cheksums counted only when traceroute uses ICMP ECHOs eg. -I option?
Patch included in the latest rawhide version of traceroute