Hi everyone,
I declared a buffer size of 4096, and in it stored a string of 20 chars.
After that, i sent this packet as an ICMP packet using raw sockets. I am
using the ICMP chk_sum function provided by the object utilities of the
Stevens free code. to this function, you supply a pointer to the start
of the packet, and the length of the packet. When i send this packet
(with check sum put in), i use the sendto() fn. TO my surprise, i found
(using tcpdump) that 3 packets (fragmants) were transmitted. When i
changed the original buffer size to 128, only one packet was sent.
Finally, when i changed the buffer size to 8192, 6 packets were sent.
Can someone tell me what's going on? In all three cases, i sent the
exact same data of 20 chars. The data is copied into icmp->icmp_data
using strcpy() (which does add a '\0' to terminate the buffer) and use
strlen() to calculate the length of the packet.
Any suggestions are welcome.
Sunny days,
Aditya
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]