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

相关推荐
我爱C编程2 分钟前
基于WSN无线传感器网络的定向步幻影路由算法matlab仿真
网络·matlab·无线传感器网络·wsn·定向步幻影路由
德彪稳坐倒骑驴32 分钟前
SQL连续登录问题
服务器·数据库·sql
校羽干43 分钟前
ubuntu22.04 安装卸载更新 ollama
运维·服务器
淘矿人1 小时前
2026年4月-DeepSeek V4 vs GPT-5.5深度对比测评:weelinking一键切换实测
服务器·数据库·人工智能·python·gpt·学习·php
忡黑梨1 小时前
eNSP_ACL原理及应用
运维·服务器·网络·tcp/ip·github·负载均衡
运维全栈笔记1 小时前
K8S部署WordPress+MySQL:模块化YAML配置详解
服务器·mysql·docker·云原生·容器·kubernetes·服务发现
日取其半万世不竭1 小时前
用云服务器搭建Frp内网穿透,实现远程访问家里电脑
运维·服务器
代码中介商2 小时前
Linux 进程间通信(IPC):管道与信号量完全指南
linux·运维·服务器
摸鱼仙人~2 小时前
HTTP 状态码系统拆解
网络·网络协议·http
白晨并不是很能熬夜2 小时前
【RPC】第 1 篇:全景篇 — 一次 RPC 调用的完整旅程
java·网络·后端·网络协议·面试·rpc·java-zookeeper