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

相关推荐
杰克逊的日记几秒前
怎么排查pod重启
linux·运维·服务器
Cat God 0071 分钟前
FTP、FTPS 和 SFTP 的区别
网络
雪域迷影32 分钟前
Windows11中使用VS2022编译运行libevent网络库
网络·github·cmake·visual studio·libevent
遇见火星37 分钟前
常见Nmap语句
网络·nmap
KingRumn1 小时前
Linux进程间通信之共享内存与消息队列的竞争问题(同步策略)对比
linux·运维·服务器
网络研究院1 小时前
英国对LastPass处以120万英镑罚款,原因是其在2022年发生数据泄露事件,影响了160万用户
网络·安全·数据·泄露·用户
小明的小名叫小明1 小时前
Go从入门到精通(28) -再谈GMP和starvation
网络·golang
元气满满-樱1 小时前
docker网络模式详解
网络·docker·容器
秋刀鱼 ..1 小时前
2026年新一代智能通信与信号处理研讨会
人工智能·神经网络·物联网·计算机网络·人机交互·信号处理
qq_401700412 小时前
Linux文件锁解决多进程并发
linux·服务器·算法