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

相关推荐
广州宏帝箱包2 小时前
出口箱包的包装标准:防潮、防摔、运输安全的设计要点
大数据·网络
彧azz2 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
浅念-2 小时前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
updayday8543 小时前
离职域账号状态变更与Ping64操作记录核对
大数据·网络·数据库·安全·智能路由器
Shadow(⊙o⊙)3 小时前
Linux进阶知识1.0
linux·运维·服务器
安易算力4 小时前
PUE优化工程实践:从1.5到1.2的制冷架构与气流组织改造路径
网络·python·容器·架构·kubernetes
剑指offer.4 小时前
ARM裸机开发-点亮LED灯
linux·服务器·嵌入式硬件
Wang's Blog4 小时前
Java 接入Redis: 使用Jedis操作Redis
java·服务器·redis
Ivanqhz5 小时前
数据搬运是性能关键
java·服务器·网络·人工智能·深度学习
其实防守也摸鱼5 小时前
常见安全架构中 Shiro 的认证确认机制解析
运维·服务器·数据库·windows·github