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

相关推荐
小兔薯了7 小时前
7. LNMP-wordpress
android·运维·服务器·数据库·nginx·php
福尔摩斯张7 小时前
Linux进程间通信(IPC)机制深度解析与实践指南
linux·运维·服务器·数据结构·c++·算法
Protein_zmm8 小时前
Wireshark实验一:Web 浏览器与服务器的协议报文捕获与分析
服务器·测试工具·wireshark
cookies_s_s8 小时前
项目--协程库(C++)前置知识篇
linux·服务器·c++
不过普通话一乙不改名8 小时前
Linux 网络发包的极致之路:从普通模式到 AF_XDP ZeroCopy
linux·运维·网络
qq_310658518 小时前
mediasoup源码走读(二)环境搭建与 Demo 运行
服务器·c++·音视频
4***17548 小时前
linux 网卡配置
linux·网络·php
p***92488 小时前
服务器部署,用 nginx 部署后页面刷新 404 问题,宝塔面板修改(修改 nginx.conf 配置文件)
运维·服务器·nginx
HarrySunCn9 小时前
Rocky服务器部署前端静态项目的注意点
运维·服务器
星环处相逢9 小时前
Nginx 优化与防盗链及扩展配置指南
服务器·前端·nginx