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

相关推荐
Maryfang132918915512 分钟前
RTL8306MB的国产P2P替代方案用JL5106C的可行性分析
网络·网络协议·p2p
一条咸鱼¥¥¥8 分钟前
【运维经验】服务器设置磁盘阵列
运维·服务器
hweiyu0015 分钟前
Linux 命令:fdisk
linux·运维·服务器
步步为营DotNet18 分钟前
深入理解IAsyncEnumerable:.NET中的异步迭代利器
服务器·前端·.net
学习中的阿陈19 分钟前
pig、sqoop安装
linux·服务器·sqoop
CrazyClaz28 分钟前
计算机网络
计算机网络
论迹34 分钟前
【JavaEE初阶】-- 网络原理(传输层)
网络
宠..36 分钟前
创建文本框控件
linux·运维·服务器·开发语言·qt
win水42 分钟前
十,进程控制
linux·服务器·vim·gcc·g++
ZhongruiRao1 小时前
vscode windows免密登录Linux服务器教程 解决设置后仍需要输入密码的问题
linux·服务器·vscode