以太网的包分三部分组成,Ethernet header,IP header,content,首先是以太网头,
typedef struct
{
unsigned short dest_hwaddr[3];
unsigned short source_hwaddr[3];
unsigned short frame_type;
}ETH_HEADER;
三个部分分别表示,目的MAC,源MAC和帧类型。帧类型表示后面数据的类型,对于ARP请求和应答来说,该字段的值是0x0806,对于ip包来说应该是0x0800
接下来是IP头
各部分意思见注释
一个典型的IP头报文的结构如下图所示
按照从左到右依次递增的字节顺序,字节内部左为高位右为地位,解析时需要对此有很清楚的认识

本文介绍了以太网包的构成,包括Ethernet header、IP header和content。详细解析了Ethernet header的dest_hwaddr、source_hwaddr和frame_type,以及IP header的ver_len_tos、total_length等字段。通过代码示例展示了如何解析IP Header中的版本、IHL、服务类型等信息。
最低0.47元/天 解锁文章
1151

被折叠的 条评论
为什么被折叠?



