一、 MAC头数据结构

  1. typedef struct _MAC_FRAME_HEADER
  2. {
  3. char m_cDstMacAddress[6];
  4. char m_cSrcMacAddress[6];
  5. short m_ctype;
  6. }__attribute__((packed))MAC_FRAME_HEADER,*PMAC_FRAME_HEADER;
  • m_cDstMacAddress 高48位目的MAC地址。
  • m_cSrcMacAddress 低48位源MAC地址。
  • m_ctype 表示上层协议类型,0x0800表示上层是IP协议,0x0806为ARP协议,0x86DD为ipv6

二、MAC尾数据结构

typedef struct _MAC_FRAME_TAIL
{
    unsigned int m_sCheckSum; 
}__attribute__((packed))MAC_FRAME_TAIL,*PMAC_FRAME_TAIL;
  • m_sCheckSum表示校验和

image.png