原始套接字中使用结构体,快速获取数据中字节含义
struct iphdr{
#if __BYTE_ORDER==__LITTLE_ENDIAN
unsigned int inl:4;
unsigned int version:4;
#elif __BYTE_ORDER==__BIG_ENDIAN
unsigned int version:4;
unsigned int inl:4;
#else
# error "Please fix <bits/endian.h>"
#endif
u_int8_t tos;
u_int16_t tot_len;
u_int16_t id;
u_int16_t frag_off;
u_int8_t ttl;
u_int8_t protocol;
u_int16_t check;
u_int32_t saddr;
u_int32_t daddr;
}
#ifdef __USE_MISC