点击图片查看原文
//-----------------------iphdr.h-----------------------//
//源码分析将忽略ipv6
//边界对齐至字节
#include
pshpack1.h为官方头文件,不做赘述。
// 1 -- ipv4 头部
typedef struct ip_hdr
{
unsigned char ip_verlen; // 前4位IP版本号(IPv4 或者IPv6)
// 后4位头部长度(32位,4字节)(1.1)
unsigned char ip_tos; // 前3位为优先级,后5位为服务类型(1.2)
unsigned short ip_totallength; // 16位包总长度包