ifndef _NET_IF_ARP_H_
#define _NET_IF_ARP_H_
/*
* 地址解释协议.
*
* 查看 RFC 826 对该协议的描述. ARP 包长度是变化的
* 头部(arphdr)结构定义了固定长度部分.
*/
struct arphdr {
u_short ar_hrd; /* 格式化的硬件地址 */
#define ARPHRD_ETHER 1 /* 以太网格式 */
#define ARPHRD_IEEE802 6 /* 令牌环网格式 */
#define ARPHRD_FRELAY 15 /* 帧中继硬件格式 */
u_short ar_pro; /* 协议地址格式 */
u_char ar_hln; /* 硬件地址长度*/
u_char ar_pln; /* 协议地址长度 */
u_short ar_op; /* 以下之一: */
#define ARPOP_REQUEST 1 /* 发出请求解释一IP地址 */
#define ARPOP_REPLY 2 /* 回应上一个请求 */
#define ARPOP_REVREQUEST 3 /* 请求一IP地址(给出硬件地址,实际上是逆向地址解释) */
#define ARPOP_REVREPLY 4 /* 回应逆向地址解释 */
#define ARPOP_INVREQUEST 8 /* 请求对方的ID */
#define ARPOP_INVREPLY 9 /* 回应对方的ID */
/*
* 下面的字段是可变长的,
* 主要是依照上面给出的定义.
*/
#ifdef COMMENT_ONLY
u_char ar_sha[]; /* 发送者硬件地址 */
u_char ar_spa[]; /* 发送者协议地址 */
u_char ar_tha[]; /* 目的方硬件地址 */
u_char ar_tpa[]; /* 目的方协议地址*/
#endif
};
/*
* ARP ioctl 请求
*/
struct arpreq {
struct sockaddr arp_pa; /* 协议地址 */
struct sockaddr arp_ha; /* 硬件地址 */
int arp_flags; /* 标识 */
};
/* arp_flags 和 at_flags 域的值 */
#define ATF_INUSE 0x01 /* 入口在使用 */
#define ATF_COM 0x02 /* 完整的入口 (enaddr 有效) */
#define ATF_PERM 0x04 /* 持久的入口 */
#define ATF_PUBL 0x08 /* 发布一入口 (回应其他主机) */
#define ATF_USETRAILERS 0x10 /* 有追踪请求 */
#ifdef _KERNEL
/*
* 该结构是以太网设备驱动程序和ARP程序所共享.
*/
struct arpcom {
/*
* ifnet 结构必须在此结构的第一个位置.
*/
struct ifnet ac_if;
u_char ac_enaddr[6]; /* 以太网硬件地址*/
int ac_multicnt; /* 多播地址列表数 */
void *ac_netgraph; /* PPPoE(ADSL)的指针 */
};
extern u_char etherbroadcastaddr[6];
#endif
#endif /* !_NET_IF_ARP_H_ */
typedef struct _ARPHdr
{
unsigned short arp_hrd;
unsigned short arp_proto;
unsigned char arp_hlen;
unsigned char arp_plen;
unsigned short arp_op;
unsigned char arp_sha[6];
unsigned char arp_spa[4];
unsigned char arp_tha[6];
unsigned char arp_tpa[4];
}ARPHdr;
分享到:
相关推荐
关于ARP头结构的详细说明,自己感觉很不错
图7-2 ARP数据包结构协议类型:ARP请求正在使的层协议。发协议地址:发送者的IP协议地址。标硬件地址:的接收的硬件地址(ARP请求中为0)
arp攻击实例代码,知道怎么封装arp头,以太网头,很实用
以太网数据包TCP、IP、ICMP、UDP、ARP协议头结构详解 以太网数据包TCP、IP、ICMP、UDP、ARP协议头结构详解
根据 ARP 欺骗的原理,设计网管欺骗程序,编写代码实现对内网 PC 的欺骗。 首先检索网络设备列表,遍历并将所有的设备列表打印出来,选择所要欺骗的网 络设备打开其适配器,判断链路层类型是否为以太网,存下子网...
arp协议分析
在算法中,对主机发送和接收的ARP报文头信息进行一致性检测,丢弃ARP头信息不一致的ARP报文;根据接收的ARP报文信息构造特定数据包,采用主动检测方法对发送方实施身份认证,拒绝未通过认证的报文;依照先发送请求后...
计算机网络ARP协议实验的报告,主机为E
AN 4256 (EX) FLENDER ARPEX 带有锥形接头的膜片组弹性体 ARP 规格 325-6[手册]pdf,
ARP协议应答协议报文和ARP协议请求协议报文类似。不同的是,此时,以太网帧头部的目标MAC地址为发送ARP协议地址解析请求的主机的MAC地址,而源MAC地址为被解析的主机的MAC地址。同时,操作类型字段为1,表示ARP协议...
TCP、UDP、伪头部、ICMP、ARP、链路封包、协议类型、OSI、TCPIP、TCP状态、CoAP、code协议说明
图7-3 个ARP请求数据包在这个给定的结构中,我们可以确定这的确是个在以太上使的这个ARP头列出了发送的IP地址(192.168.0.114)和
最近公司的网络中了这两天闹的很欢的ARP病毒,导致大家都无法上网,给工作带来了很大的不方便,在这里写下杀毒的过程,希望对大家能有帮助! 现象:打开部分网页显示为乱码,好像是随机的行为,但是看似又不是,...
VC基于WinPcap抓包,处理了以太网头,ARP、IP等一些模式,需要安装WinPcap相关
TCP/IP协议的数据包头格式,包括TCP,UDP,IP,ARP等
1.5.1 以太网ARP请求应答报文详解 1.5.2 ARP高速缓存的查看和修改 1.5.3 使用tcpdump观察ARP通信过程 1.6 DNS工作原理 1.6.1 DNS查询和应答报文详解 1.6.2 Linux下访问DNS服务 1.6.3 使用tcpdump观察...
广工专用协议分析实训实验报告,内涵实训一、二、三、四;...实训一 网络分层及ARP、DNS协议分析 实训二 用WireShark分析IP、TCP、HTTP 实训三 用WireShark分析IP、TCP、FTP包 实训四 利用WireShark分析路由协议
(5) CArp类:提供ARP协议的头部结构以及ARP报文的构造。 (6) CIp类:提供IP协议的头部结构以及IP报文的构造。 (7) CIcmp类:提供ICMP协议的头部结构以及IP报文的构造。 (8) CUdp类:提供UDP协议的头部结构以及IP报文...
#ifndef MY_ARP_CHEAT_INCLUDE_H #define MY_ARP_CHEAT_INCLUDE_H //字节对齐必须是1 #pragma pack (1) struct ethernet_head { unsigned char dest_mac[6]; //目标主机MAC地址 unsigned char source_mac[6]...
自己整理的以太网包头结构,ARP包,IP包头结构,TCP包结构,IMCP包结构,非常详细,方便开发过程中随时打开校对