Hello, I have a little question about the field "Internet Header + 64 bits of Data Datagram" when I trying to calculate checksum icmp type 11. How can i check it on wireshark? Thanks asked 17 May '12, 12:29 blackfredy edited 17 May '12, 12:31 |
One Answer:
The checksum calculation works exactly the same as for ICMP ECHO/ECHO-REPLY packets. Instead of some user data, the payload of the ICMP packet is now a portion of the packet that triggered the TTL-exceeded ICMP message. As the RFC says, it is the complete IP header plus 64 bits (8 octets) of said packet (these are used to be able to identify which packets caused the TTL-exceeded message). In your example, the 64 bits are the ICMP header of the ping from 172.22.51.119 to 172.22.2.38. answered 17 May '12, 17:00 SYN-bit ♦♦ |
Hi,
However thanks, well I'm doing this:
type+code = 0x0b00
Complete ip_header = 0x4500; 0x005c; 0xc0dd; 0x0000; 0x0001; 0xac16; 0x3377; 0xac16; 0x0226;
And plus
0xac16; 0x3377; 0xac16; 0x0226;
Adding the carry and doing the complement the result would be 0xf4ff? I think I am in a mistake. could help me?
Thanks!
You should use:
I read rfc 792, and I couldn’t understand, “64 bits of Original Data Datagram”, but with your explanation now I got it. I follow your advice and additional I add ip_header checksum to reach 0xf4ff.
I really feel so grateful with your help,
Thanks!