免费ARP ,代理ARP配置及解决方法 ,抓包分析

**

**代理ARP实验

**
一:工具
eNSP VirtualBox WireShark
实验拓扑
在这里插入图片描述
根据拓扑路由器配置如下
在这里插入图片描述
我们在路由器的GE0/0/0口抓包可以看到,路由器首先发送一个免费ARP广播报文检测自己的IP是否和别人冲突,无回应报文说明没有冲突。
在这里插入图片描述
2.测试两PC到路由器的连通性(ping),发现目标主机不可达。
在这里插入图片描述
3.输入命令查看PC和路由器的ARP表项,PC上输入arp –a 路由器上dis arp all,我们可以看到PC1上无ARP表项,而路由器上只有自己接口的ARP表项。
在这里插入图片描述
在这里插入图片描述
此时要使PC1和PC2正常通信就要做ARP代理
1.对路由器R1的两个接口gg0/0/0和g0/0/1进行ARP代理配置
在这里插入图片描述
2.测试PC1和PC2的连通性,发现还是不可达。
在这里插入图片描述
原因:
首先我们要了解 PC发出ARP广播的前提 :若PC1发现访问的目的IP和自己是同一网段,则直接发出ARP广播请求目的IP的MAC 地址;若目的IP和自己不是一个网段,则发ARP广播请求自己网关的MAC
已知PC1(192.168.1.1/24)、PC2(192.168.2.1/24)不在同一网段,所以PC1要发出ARP广播请求自己网关的MAC,此时,我们并没有为PC1配置网关,所以PC1无法发出ARP广播。
解决方法
方法1:
将两PC的子网掩码改为都改为/22,此时,PC1、PC2在同一网段,这样PC1 ping PC2才会发出ARP广播帧,请求获取PC2的MAC

在这里插入图片描述在这里插入图片描述
此时测试PC1和PC2的连通性,PC1 ping 192.168.2.1;
在这里插入图片描述
可以看到前两个数据包超时,原因是PC1没有PC2的MAC地址,所以PC1送一个广播包,当路由器收到后,发现自己也没有PC2的MAC地址,也广播发送一个ARP报文,此时收到PC1和PC2两个IP地址对应的MAC地址的单播应答包,
路由器G0/0/0抓取的数据包:(可以看到两个超时的数据包)
在这里插入图片描述
路由器G0/0/1抓取的数据包:
在这里插入图片描述
路由器缓存进自己的ARP表项中,可以看到有PC1和PC2的IP对应的MAC地址,以及自己接口的IP对应的MAC地址表。
在这里插入图片描述
这时我们在ping,发现无丢包情况,并且PC1中的ARP表项有了2.1的MAC地址
在这里插入图片描述
两PC ping 通了,查看ARP后,发现去往PC2的IP地址对应的MAC地址与R1的g0/0/0接口相同
说明在PC1看来,R1的g0/0/0接口就是PC2,即R1的g0/0/0接口执行了ARP代理功能,为PC1发出的ARP请求提供了代理应答。 达到了实验想要的结果。
同理PC2也一样
在这里插入图片描述
方法2:
配置PC1的网关192.168.1.254和PC2的网关192.168.2.254后,测试两个PC的连通性发现

在这里插入图片描述
在这里插入图片描述
当有了MAC地址后我们可以看到第一个包是不丢失的
在这里插入图片描述
通过后台运行的抓包软件也可以看到当ping 192.168.2.1时
PC1先发送一个ARP广播,请求网关的MAC地址。
在这里插入图片描述
网关给PC1单播回复PC1网关的IP对应的MAC地址,然后PC1缓存到本地ARP表象中以便后续使用(在第二次ping时可以看到,这里没有ARP广播请求自己网关MAC。注意:此缓存有一定时间300s)
在这里插入图片描述
两PC ping 通了,查看ARP后,
发现去往PC2的IP地址对应的MAC地址与R1的g0/0/0接口相同,
去往PC1的IP地址对应的MAC地址与R1的g0/0/1接口相同
说明在PC1看来,R1的g0/0/0接口就是PC2,即R1的g0/0/0接口执行了ARP代理功能,为PC1发出的ARP请求提供了代理应答。 达到了代理ARP实验结果
。**

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章