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

相关推荐
The Chosen One9856 小时前
OS第二章随手记(2.1)
linux·运维·服务器·笔记
吠品7 小时前
纯HTML+ECharts构建交互式数据看板:实现思路与踩坑记录
java·服务器·数据库
en.en..7 小时前
网络分层设备详解:中继器、集线器、网桥、交换机、路由器
网络·智能路由器
青峰客7 小时前
DeepSeek 大模型新手快速上手指南
运维·服务器·github
AnalogElectronic7 小时前
汽车保养记录记事本
网络
程序员-Benothing7 小时前
Linux查找文件命令:find、locate、which、whereis实战
linux·运维·服务器
团子股股东峥哥7 小时前
day39-RHEL-访问网络附加存储
linux·运维·服务器
程序员-Benothing9 小时前
Linux文件查看与编辑:cat、less、tail、vim快速入门
linux·运维·服务器
艾莉丝努力练剑9 小时前
【AI大模型接入SDK】LLM会话管理模块设计
网络·c++·人工智能·学习·大模型
虹科网络安全18 小时前
Redis 安全公告:CVE-2026-81934 TLS 处理漏洞及修复建议
网络·人工智能·网络安全