安基网 首页 安全 安全学院 查看内容

代理ARP:合法的MAC欺诈技术

2019-9-29 09:10| 投稿: |来自:


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: OSI七层模型根据OSI七层网络模型,任何设备要和另外一台设备通信时,都必须要知道对方的MAC地址。不然就没有办法在链路层封装数据,ARP就是用来自动获取MAC地址的一种技术。基本的ARP工作原理比较简单,我想大家之前肯定已经有所了解,在这里我们就不在累述了,今天要介绍的是ARP的一个变种:Proxy ARP ...

OSI七层模型

根据OSI七层网络模型,任何设备要和另外一台设备通信时,都必须要知道对方的MAC地址。不然就没有办法在链路层封装数据,ARP就是用来自动获取MAC地址的一种技术。基本的ARP工作原理比较简单,我想大家之前肯定已经有所了解,在这里我们就不在累述了,今天要介绍的是ARP的一个变种:Proxy ARP,即代理ARP。

我们先来看看代理ARP的定义和适用场景:

定义:一个设备,通常是一台路由器,如果发现收到的ARP请求地址在不同的子网,就会以自己的MAC地址来回复ARP请求,这个ARP回复报文就被称作Proxy ARP。

适用场景:没有配置网关的终端(PC)想要访问不在同一个subnet的其它的设备时,就需要启用路由器的代理ARP功能。

下面咋们以一个完整的例子来解释代理ARP工作原理。

拓扑和说明

拓扑

  1. PC1和PC2在网段A中,它们的网络地址分别是10.1.0.0/16,10.1.1.0/24.
  2. PC3和PC4在网段B中,它们的网络地址是10.1.2.0/24
  3. 4台PC都只配置了IP地址,没有配置网关
  4. PC1想要访问PC3

�6�7验证过程

步骤1:PC1的地址为10.1.1.1/16,则它会认为与之相连的subnet上所有的PC的网段都是10.1.0.0,即当PC1想和PC3通信时,它认为PC3的subnet也是10.1.0.0/16,所以它会向路由器发送ARP请求,以便获得PC3的MAC地址。

PC1发送的ARP请求内容如下:

ARP请求

步骤2:路由器收到PC1发送的ARP请求报文,却不会直接转发给PC3:因为路由器在默认情况下不会转发广播报文,更不会回复了,而ARP也是广播报文的一种

步骤3:如果路由器启用Proxy ARP,此时才会回复ARP报文。

  1. 路由器把自己的接口E0的MAC地址回复给PC1,告诉PC1,自己就是PC3,这是一种伪装技术(欺诈)
  2. 路由器为什么可以进行伪装呢?因为路由器知道PC3的地址是10.1.2.3,并且知道它的网段是10.1.2.0/24。既然能找到PC3,就可以做流量的中转
  3. 路由器发送的ARP答复报文就称为proxy ARP,其主要表项如下:

ARP应答

步骤4:PC1收到ARP以后,就会更新自己的ARP表, 此时PC1并不知道自己被欺诈了,它认为是一个正常的ARP答复报文。

PC1的ARP表项:

ARP表项

步骤5:PC1有了这个ARP表项以后,以后所有发送给PC3的报文,目的MAC都会使用路由器E0接口的MAC地址来封装, 然后由路由器将这个报文转发给PC3,这样它们就能够正常通信了。

步骤6:如果PC1还想和PC4通信,也会触发Proxy ARP,最后形成如下的ARP表项

ARP表项

可以看到,PC3和PC4对应的MAC地址都是路由器E0接口的MAC.

小经验:如果我们在工作中看到这种多个IP地址映射到同一个MAC地址的情况,基本上就可以断定这个网络中启用了代理ARP。

代理ARP缺点

现在大家在工作中,基本上不会用到Proxy ARP了,因为它的适用场景太单一了。尤其是不需要配置网关这一条,咋们基本上遇不到,因为正常我们的PC获取地址都是有网关的,和外界通信都是通过网关进行的。

除了场景单一以外,Proxy ARP还有如下的缺点:

  1. 它会增加网络上的ARP报文流量,因为PC每访问一个设备,都需要发送ARP请求;
  2. PC需要会维护一张很大的ARP表:需要保存所有要访问设备的MAC;
  3. ARP地址欺诈:涉及到安全问题,在网络中的任何一台设备能够宣称自己是路由器的接口,回复PC的ARP请求。这样就可以发起中间人攻击,获取用户数据等。

中间人攻击

配置代理ARP

在思科的路由器上,默认就是开启代理ARP的,所以不需要配置。如果不想使用,可以在接口上disable代理ARP,配置的命令如下:

Router# configure terminal

Router(config)# interface ethernet 0

Router(config-if)# no ip proxy-arp

总结

各位看完这篇文档大家应该对代理ARP的试用场景和工作原理有所了解了吧?虽然不常用,但是“代理ARP“这个名词会经常听说,如果掌握了其工作原理,就可以装12,忽悠一下小白了:)

最后还是欢迎各位关注我的头条号,一起讨论网络知识,谢谢!



小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/a6741167782575997448/

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

相关阅读

最新评论

 最新
返回顶部
上海11选5开奖 平安彩票计划群 彩宝彩票平台 盛兴彩票计划群 88彩票计划群 上海11选5 GT彩票计划群 188彩票计划群 云顶彩票计划群 极速赛车有什么规律