[EMAIL PROTECTED] wrote:
Hi guys,
I am trying to print offset value for IP packet through this code.
printf(%d|,ippkt-ip_off);
I am not getting the right value, what's missing.
ip_off is an u_short, so byte order issues apply. Try this:
printf(%d|, ntohs(ippkt-ip_off));
David Rosal wrote:
ip_off is an u_short, so byte order issues apply. Try this:
printf(%d|, ntohs(ippkt-ip_off));
...and then remember that the upper 3 bits of that 16-bit field are flags:
#define IP_RF 0x8000/* reserved fragment flag */
#define IP_DF 0x4000