计算机网络篇之ARP包结构

计算机网络篇之ARP包结构

文章目录

ARP包格式

c 复制代码
struct arp_hdr
{
    uint16_t hwtype; 		//数据链路层的类型,若是以太网,值是0x0001
    uint16_t protype; 		//通信协议类型,若是ipv4,值是0x0800
    unsigned char hwsize;	//硬件字段大小(单位字节),若是mac地址就是6
    unsigned char prosize;	//协议字段大小(单位字节),若是ip地址就是4
    uint16_t opcode;		//ARP消息的类型,ARP请求是1,ARP回复是2,RARP请求是3,RARP回复是4
    unsigned char data[];	//ARP协议的数据负载
} __attribute__((packed));

ARP包里面的数据负载格式

若是ipv4, ARP协议的数据负载就是这个结构

c 复制代码
struct arp_ipv4
{
    unsigned char smac[6];//发送方的6字节mac地址
    uint32_t sip;		  //发送方的4字节ip地址
    unsigned char dmac[6];//接受方的6字节mac地址
    uint32_t dip;		  //接受方的4字节ip地址
} __attribute__((packed));

ok, 简单胜于复杂, 就聊这么多

相关推荐
adnyting5 分钟前
【Linux日新月异(六)】CentOS 7网络命令深度解析:从传统到现代网络管理
linux·网络·centos
wsig1 小时前
linux下SO文件编译指定其他依赖库的路径
linux·运维·服务器
想唱rap1 小时前
Linux下进程的状态和优先级
linux·运维·服务器·开发语言·数据结构·算法
稚辉君.MCA_P8_Java1 小时前
Sqoop 实现的功能是什么
java·服务器·架构·kubernetes·sqoop
陌路202 小时前
Linux35 TCP状态转换图
网络·网络协议·tcp/ip
Awkwardx2 小时前
Linux网络编程—应用层自定义协议与序列化
linux·网络
k***3882 小时前
Node.js HTTP模块详解:创建服务器、响应请求与客户端请求
服务器·http·node.js
极客BIM工作室3 小时前
LSTM门控机制:本质是神经元构成的小型网络
网络·机器学习·lstm
HalvmånEver5 小时前
Linux:基础开发工具(五)
linux·运维·服务器
qq_278984136 小时前
ubuntu vlan网络设置
linux·服务器·网络