理解ARP协议

本文通过一个网络拓扑实验详细解释了ARP协议的工作原理,展示了ARP缓存如何建立和被欺骗。在ARP欺骗攻击的场景下,路由器无法正确转发数据包,导致通信中断。接着介绍了ARP代理的概念,当开启路由器的ARP代理功能后,不同广播域的主机能够相互通信,即使它们无法直接获取对方的MAC地址。ARP代理通过路由器作为中介,转发ARP请求和响应,确保数据包的正确传输。
摘要由CSDN通过智能技术生成

目录

实验的网络拓扑图

如图,在eNSP仿真软件中,建立如下网络拓扑图:

请添加图片描述

设备接口IP地址子网掩码默认网关
R1(AR2220)GE 0/0/110.1.1.254255.255.255.0N/A
R1(AR2220)GE 0/0/210.1.2.254255.255.255.0N/A
PC-1Ethernet 0/0/110.1.1.1255.255.0.0N/A
PC-2Ethernet 0/0/110.1.1.2255.255.0.0N/A
PC-3Ethernet 0/0/110.1.2.3255.255.0.0N/A

实验操作

配置好相关接口IP地址之后,查看路由器中的arp缓存表
在这里插入图片描述
此时没有PC对应的信息。此时,我们在PC1上,ping主机PC2,执行如下指令:

PC1> ping 10.1.1.2

再次查看arp缓存表信息,如下图:
在这里插入图片描述
发现多出了一条,PC1的IP对应的MAC。

此时,我们模拟ARP攻击,手动将此表中PC1的IP对应的MAC地址修改成错误的。

arp static 10.1.1.1 5489-98Cf-2803

查看表,发现修改成功,如下图,错误的ARP映射出现在表中:
在这里插入图片描述
这里,我们直接在路由器上,ping主机PC1,看是否成功:
在这里插入图片描述
这里ping不通,因为错误的ARP映射,导致路由器无法正器的发送数据包给PC1。这就是ARP欺骗攻击。

为防止ARP欺骗攻击感染路由表,可以通过配置静态路由来阻止,直白点就是直接手工配置正确的映射,将错误的映射删除,不过这种做法工作量有点大。

ARP代理

路由器R1将网络分割为两个独立的广播域。
默认情况下,路由器上的ARP代理功能是关闭的。如果在PC2上去ping主机PC3,是ping不通的,如下图:
在这里插入图片描述

在PC2的E 0/0/1 上抓包来看:
请添加图片描述

可以观察到,PC2发出了ARP广播,却一直没有收到ARP回复,原因是PC2和PC3分处在两个广播域内,PC2发的ARP请求无法跨越中间的路由器,所以,PC3收不到PC2的ARP请求,PC2也无法知晓目标主机PC3的MAC地址而导致数据封装失败。

但是,如果R1开启了ARP代理之后,情况就不一样了。
在R1的端口 GE 0/0/1上开启ARP动态代理:

arp-proxy enable

在这里插入图片描述
同样在PC2上去ping 主机PC3,在PC2的E 0/0/1接口抓包观察,如下图:
在这里插入图片描述
ping 通了!抓包的信息如下:
请添加图片描述

可以看到,ARP回复里面,给出了10.1.2.3的MAC地址,不过,这个MAC地址并不是真正的10.1.2.3的MAC地址,而是路由器R1 的GE 0/0/1接口的MAC地址。
开启ARP代理后,PC2访问PC3的工作过程如下:
R1的接口 GE 0/0/1开启了ARP代理后,收到PC2的ARP广播请求报文后,R1根据ARP请求中的目标IP地址10.1.2.3查看自身的路由表是否有对应的目标网络,R1的GE 0/0/2的接口就是10.1.2.0/24网络,所以,R1直接把自身的GE 0/0/1接口的MAC地址通过ARP响应返回给PC2,PC2接收到此ARP响应后,使用该MAC地址作为目标硬件地址发送报文给R1,R1收到后再把报文转发给PC3。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值