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

相关推荐
Yan-英杰2 分钟前
从Free Tier到Serverless:用亚马逊云科技打造零门槛AI应用
服务器·开发语言·科技·ai·大模型
Web极客码11 分钟前
Wordpress如何调整区块高度与宽度
服务器·主题·wordpress
WG_1715 分钟前
Linux:基础IO(18+19)+文件描述符
linux·运维·服务器
别动哪条鱼29 分钟前
SDL 函数对各对象缓冲区的影响
网络·数据结构·ffmpeg
天机️灵韵33 分钟前
VMware Ubuntu20.04.3 LTS设置NAT模式连接
服务器
云计算练习生1 小时前
渗透测试行业术语扫盲(第十六篇)—— 红蓝对抗与演练类
网络·安全·网络安全·信息安全·渗透测试术语
快解析1 小时前
内网穿透快解析注册后添加配置端口教程
linux·服务器·网络
HunterMichaelG1 小时前
【openSSH】Linux openEuler-22.03-x86_64升级openSSH至10.2p1版本
linux·运维·服务器
VekiSon1 小时前
Linux系统编程——IPC进程间通信
linux·运维·网络
再睡一夏就好1 小时前
深入解析Linux页表:从虚拟地址到物理内存的映射艺术
linux·运维·服务器·c语言·c++·页表·缺页异常