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

相关推荐
两点王爷1 小时前
常用的 Docker 镜像拉取地址仓库及常用命令详解
运维·服务器·容器
神.秘.人1 小时前
【BIOS/UEFI 与 MBR/GPT 的区别详解】
运维·服务器
第十人i1 小时前
Linux 一键重装系统脚本:reinstall 工具详解
linux·服务器
Thomas.Sir1 小时前
第13课:PyTorch|经典CNN网络模型从零复现【从LeNet到VGG的逐行实现】
网络·pytorch·cnn
en.en..2 小时前
网络分层封装 与 TCP粘包的因果关系
网络·单片机·嵌入式硬件
布莱克6052 小时前
HTTP 状态码详解:从分类到实战
计算机网络·http·状态码
aramae2 小时前
Python 使用库:标准库与第三方库实战
服务器·开发语言·windows·python
yuzhiboyouye2 小时前
XML写接口适用场景举例
java·服务器·前端
IMPYLH2 小时前
HTML 的 <slot> 元素
前端·网络·html
yuzhiboyouye3 小时前
零sql和xml写接口,的区别是什么,过程是什么,举例一下下,用mybatis-plus+ spring-boot
java·服务器·前端