ARP报文格式:
目的以太网地址,48bit,发送ARP请求时,目的以太网地址为广播MAC地址,即0xFF.FF.FF.FF.FF.FF。
源以太网地址,48bit。
帧类型,对于ARP请求或者应答,该字段的值都为0x0806。
硬件地址的类型。对于以太网,该类型的值为0x0001。
协议类型,对于IP地址,该值为0x0800。
硬件地址长度,对于ARP请求或者应答,该值为0x06。
协议地址长度,对于ARP请求或者应答,该值为0x04。
操作类型:对于ARP请求来说,该值为0x0001
对于ARP应答来说,该值为0x0002.
对于RARP请求来说,该值为0x0003.
对于RARP应答来说,该值为0x0004.
发送方以太网地址:与以太网首部的源以太网地址是重复信息。
发送端IP地址: 32bit。
接收方以太网地址:发送ARP请求时,该处填充值为0x00.00.00.00.00.00
接收方的IP地址:32bit。
免费ARP:
普通 ARP 报文中的目标 IP 地址是其他主机的 IP 地址;而免费 ARP 的请求报文中,目标 IP 地址是自己的 IP 地址。
免费 ARP 数据包有以下 3 个作用:
地址冲突的主机对于免费ARP响应也是需要回复的,回复的也是免费ARP响应,与其说是给地址冲突的主机回复,不如说是告诉整个广播域,我的IP才是xxx,然后源主机收到后又会广播免费ARP响应,两台地址冲突的主机轮流发。
一个MAC关联多个IP地址的场景:
无线路由器工作在无线中继模式下,这个中继下面连了一堆设备,每个设备都有IP,这些IP是上级路由器分配的,但是上级路由器却看不到他们的Mac地址,上级路由器只能看到这个中继的Mac,对上级路由器来说,只看到这个中继申请了一堆IP,而不知道中继是为他的下级设备申请的。
ARP防欺骗:
免费ARP防欺骗开关为ON, 1分钟内检测到30次以上(含30次)刷新本板ARP表中某IP地址对应MAC地址的请求,上报告警。
ARP黑名单:
一般ARP条目建立后,如果1分钟没有变化,则置为Trust状态。
支持ARP冲突时触发ARP主动学习。本功能支持以太主接口、以太子接口、TRUNK主接口、TRUNK子接口。
● 如果当前已有信任MAC1,如果收到MAC不同的ARP报文时,立刻刷新MAC,并进行ARP攻击判定处理。
●ARP攻击判定处理过程:
□ 将该非信任MAC放入攻击者MAC队列。针对每条动态ARP表项,维护一个信任MAC和一个长度为3的潜在攻击者MAC(即非信任MAC)队列(非黑名单)。如果队列已满,则踢掉ARP报文接收统计次数最少的那个非信任MAC。
□ 发送N次广播ARP请求,N可以全局配置,5<=N<=15,默认N=5,请求报文的发送间隔为1秒。□ 针对攻击者MAC队列里的每个MAC,统计该MAC发来的ARP报文个数。一旦收到 N/2+1 次信任MAC的应答,则立刻结束确认过程,此时查看攻击者MAC队列,将发送ARP报文次数大于或等于 N/2+1 次的攻击者MAC加入黑名单,其他的攻击者MAC直接从攻击者MAC队列里清除,并且上报告警消除。
□ 如果N次广播ARP请求发送完毕后,再等待1秒钟,还没有收到 N/2+1 次信任MAC的应答,则该动态ARP表项无信任MAC,此时清空ARP潜在攻击者队列。
□ 如果一分钟内只收到新MAC的ARP报文,则重新建立信任关系;如果没有收到信任MAC的应答,但收到其他多个MAC应答,则按收到顺序刷新ARP表项,最终表项为最后一次收到的MAC。
动态黑名单老化机制:
支持黑名单的老化机制,默认的老化时间为20分钟。若20分钟里没有收到黑名单里对应MAC回应的ARP报文,则移出黑名单 ,如果黑名单中的MAC在老化时间(20分钟)内发起攻击,则重新开始等待20分钟。
ARP报文带VLAN:
当端口配置VLAN后,肯定会周期性发送带VLAN的免费ARP,但是不带VLAN的免费ARP报文发不发取决于ARP广播报文携带VLANID开关参数的配置。(arpbcpktvlanflag)