Dynamic ARP Inspection(DAI)工作原理及测试

简介:

一.工作原理:

A.根据DHCP Snooping或手工方式形成的MAC地址与IP地址绑定表,来确定网络中的非法接入的MAC地址

B.同时为了防止恶意ARP欺骗,还可以对接口的arp请求包进行限速

---测试发现,对于非信任口的arp请求和回复(包括无理arp)都会被丢弃,因此觉得在非信任端口做限速没有多大必要(没有手工修改DHCP绑定表,或用arp access-list做排除的情况)

参考链接:http://wenku.baidu.com/view/cda2e815c5da50e2534d7f05.html

二.测试拓扑:

154539919.jpg

测试交换机IOS:

--Cisco IOS Software, C3560 Software (C3560-IPSERVICESK9-M), Version 12.2(55)SE3, RELEASE SOFTWARE (fc1)

三.配置步骤:

A.交换机:

①全局开启DHCP Snooping

ipdhcp snooping

②在VLAN 11启用DHCP Snooping

ipdhcp snooping vlan 11

③指定连接R2(DHCP服务器)的接口为信任接口

interface FastEthernet0/2
ip dhcp snooping trust

④在VLAN 11开启DAI

ip arp inspection vlan 11

B.DHCP服务器配置

①设定ip地址池

ip dhcp pool dhcppool
  network 10.1.1.0 255.255.255.0
  default-router 10.1.1.2

②信任82选项

interface GigabitEthernet0/0
ip dhcp relay information trusted

四.测试:

A.R1和PC1都作为DHCP客户端

---这时DHCP Snooping binding表中同时有R1和PC1的mac地址和IP对照表,因此当R1去ping PC1时,PC1的ARP Reply包能够被交换机正常转发,相反也是一样,所以ping通

B.将PC的IP手工指定为DHCP分派之外的其他地址

---比如10.1.1.130

---这时DHCP Snooping binding表中没有PC1的mac地址和IP对照表,立马报出日志:

*Mar  2 00:45:40.424: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa0/9, vlan 11.([0050.56bc.9f6a/10.1.1.130/0000.0000.0000/10.1.1.130/00:45:40 UTC Tue Mar 2

---这时R1 ping PC1不通,在PC1上面抓包,可以看到由R1发出的arp请求包,PC也给R1回复了一个arp reply包,但是R1上show arp却没有PC1的arp记录,可见DAI依据DHCP Snooping binding表来判断,如果没有记录的话,则把该端口的arp reply包给丢弃了

---如果这时PC1去ping R1的接口地址,不通,在PC上面抓包可以看到,发出的arp request包根本就没有得到回应,在R1上debug也看不到arp request,说明开启DAI后,DAI把没有记录的接口的ARPrequest包也给丢弃了。

---可见:交换机对DHCP Snooping绑定表没有记录及没有做特殊设置的接口的ARP回复包和请求包都会丢弃

C.对于DHCNP Snooping binding表没记录的解决方式

---R1和PC1虽然都作为DHCP客户端时能互相ping通,但是它们都ping不通10.1.1.2,DHCP服务器的地址。

---原因是DAI检查DHCP绑定表没有10.1.1.2的条目,将10.1.1.2回复的ARP Reply包给丢弃了

---这时R2上能收到R1和PC1发出的Arp Request包的,所以它的arp缓存里面有R1和PC1对应的条目的

---如果R1和PC1上手工添加R2的ARP记录,它们是可以PING通R2的

①指定连接静态IP的设备接口为信任接口

SW1(config-if)#ip arp inspection trust 
②设定arp access-list,并在vlan arp审查过滤时调用

arp access-list testarp
permit ip host 10.1.1.2 mac host 0002.0002.0002 

ip arp inspection filter testarp vlan 11 <static>

---这个static是可选的,输入和不输入有什么区别没有测试出来

---在输入arp access-list名称时是不进行检查的,即使输入不存在的名称,也不做提示

③在DHCP Snooping表中增加静态条目

ip source binding 0002.0002.0002 vlan 11 10.1.1.2 interface Fa0/2

---增加后可以通过如下命令查看:show ip source binding 显示动态和静态绑定项




本文转自 碧云天 51CTO博客,原文链接:http://blog.51cto.com/333234/1210133,如需转载请自行联系原作者

相关文章
|
3月前
|
监控 Java 测试技术
精准化测试原理简介
该文探讨了软件测试中的精准化测试问题,通过找不同游戏引出测试覆盖的挑战。文章指出,全面的测试覆盖并不现实,自动化测试虽有帮助但并非银弹,且面临成本和覆盖率局限。接着,文章提出需要“最强大脑”来快速识别代码差异、影响范围及测试覆盖率。为此,它介绍了通过语法分析器和字节码来定位代码差异,利用ASM进行调用链分析,并借助Jacoco进行覆盖率统计。此外,文章强调了增量覆盖率统计和调用链在接口测试中的重要性,同时提醒高覆盖率不代表高质量,测试策略应结合业务逻辑和代码审查。
51 2
|
3月前
|
缓存 网络协议 Ubuntu
dpdk课程学习之练习笔记一(接收,发送,arp,icmp功能测试)
dpdk课程学习之练习笔记一(接收,发送,arp,icmp功能测试)
114 0
|
3月前
|
存储 缓存 网络协议
dpdk课程学习之练习笔记二(arp, udp协议api测试)
dpdk课程学习之练习笔记二(arp, udp协议api测试)
132 0
|
3月前
|
JavaScript Java 测试技术
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
2239 0
|
4天前
|
网络协议 网络架构
看完,保你秒懂“ARP中间人攻击”原理
看完,保你秒懂“ARP中间人攻击”原理
|
4天前
|
网络协议 网络架构
动图 | 6张图让你秒懂“ARP中间人攻击”原理,堪称史诗级解释!
动图 | 6张图让你秒懂“ARP中间人攻击”原理,堪称史诗级解释!
|
30天前
|
存储 Java
浅析JAVA日志中的性能实践与原理解释问题之测试日志内容大小对系统性能的影响问题如何解决
浅析JAVA日志中的性能实践与原理解释问题之测试日志内容大小对系统性能的影响问题如何解决
|
2月前
|
存储 数据管理 测试技术
构建Python构建自动化测试框架(原理与实践)
当谈到软件质量保证时,自动化测试是一个不可或缺的步骤。Python作为一种简单易学的编程语言,具有丰富的测试框架和库,使得构建自动化测试框架变得相对简单。本文将介绍如何使用Python构建自动化测试框架,包括选择合适的测试框架、编写测试用例、执行测试和生成报告等方面。
构建Python构建自动化测试框架(原理与实践)
|
2月前
|
芯片
LDO的原理及测试方法
LM317是一种可调稳压器,核心是Bandgap Reference,用于提供1.25到37V的输出电压和1.5A的电流。了解其内部结构有助于测试和电路设计,例如理解温度系数对稳定性的影响,以及参数如IADJ(通常为50uA)的设计。测试时关注输出电压的线性和负载调整率,同时注意输入电流与输出电流的关系。LM317的测试还包括参考电压、滤波器性能、纹波抑制比等,确保电路的稳定性和效率。在多站点测试中,还需确保辅助电路的一致性和校准。
120 4
|
3月前
|
敏捷开发 监控 IDE
深入理解自动化测试工具Selenium的工作原理与实践应用
【5月更文挑战第26天】 随着敏捷开发和持续集成理念的普及,自动化测试在软件开发生命周期中扮演了至关重要的角色。Selenium作为最流行的自动化测试工具之一,以其开源、跨平台和支持多种编程语言的特性被广泛使用。本文将详细解析Selenium的核心组件,探讨其工作原理,并通过案例分析展示如何高效地实施Selenium进行Web应用的自动化测试。我们将从测试准备到结果分析的全过程,提供一系列实用的策略和最佳实践,帮助读者构建和维护一个健壮的自动化测试环境。