计算机网络篇之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, 简单胜于复杂, 就聊这么多

相关推荐
小李独爱秋13 小时前
计算机网络经典问题透视:数据流的平均速率,峰值速率和突发长度各表达什么意思?
网络·网络协议·计算机网络·安全·信息与通信
Script kid13 小时前
Redis(Remote Dictionary Server远程字典服务器)五种常见数据结构及常见用法和指令
服务器·数据结构·redis
好奇心害死薛猫13 小时前
飞牛NAS_docker_easytier
网络·docker
ID_1800790547313 小时前
淘宝平台商品详情API(item_get)深度解析
java·服务器·前端
Q168496451513 小时前
Linux-周期任务易错问题
linux·运维·服务器
运维有小邓@13 小时前
如何分析 Linux 系统登录失败事件
linux·运维·服务器
负二代0.013 小时前
系统引导过程及修复
linux·运维·服务器
bukeyiwanshui13 小时前
Nginx 服务器
运维·服务器·nginx
楼田莉子14 小时前
Linux学习之库的原理与制作
linux·运维·服务器·c++·学习
市安14 小时前
nat模式下lvs规划与部署
服务器·网络·php