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

时间:2024-03-26 18:19:25

**

**代理ARP实验

**
一:工具
eNSP VirtualBox WireShark
实验拓扑
免费ARP ,代理ARP配置及解决方法 ,抓包分析
根据拓扑路由器配置如下
免费ARP ,代理ARP配置及解决方法 ,抓包分析
我们在路由器的GE0/0/0口抓包可以看到,路由器首先发送一个免费ARP广播报文检测自己的IP是否和别人冲突,无回应报文说明没有冲突。
免费ARP ,代理ARP配置及解决方法 ,抓包分析
2.测试两PC到路由器的连通性(ping),发现目标主机不可达。
免费ARP ,代理ARP配置及解决方法 ,抓包分析
3.输入命令查看PC和路由器的ARP表项,PC上输入arp –a 路由器上dis arp all,我们可以看到PC1上无ARP表项,而路由器上只有自己接口的ARP表项。
免费ARP ,代理ARP配置及解决方法 ,抓包分析
免费ARP ,代理ARP配置及解决方法 ,抓包分析
此时要使PC1和PC2正常通信就要做ARP代理
1.对路由器R1的两个接口gg0/0/0和g0/0/1进行ARP代理配置
免费ARP ,代理ARP配置及解决方法 ,抓包分析
2.测试PC1和PC2的连通性,发现还是不可达。
免费ARP ,代理ARP配置及解决方法 ,抓包分析
原因:
首先我们要了解 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

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

免费ARP ,代理ARP配置及解决方法 ,抓包分析
免费ARP ,代理ARP配置及解决方法 ,抓包分析
当有了MAC地址后我们可以看到第一个包是不丢失的
免费ARP ,代理ARP配置及解决方法 ,抓包分析
通过后台运行的抓包软件也可以看到当ping 192.168.2.1时
PC1先发送一个ARP广播,请求网关的MAC地址。
免费ARP ,代理ARP配置及解决方法 ,抓包分析
网关给PC1单播回复PC1网关的IP对应的MAC地址,然后PC1缓存到本地ARP表象中以便后续使用(在第二次ping时可以看到,这里没有ARP广播请求自己网关MAC。注意:此缓存有一定时间300s)
免费ARP ,代理ARP配置及解决方法 ,抓包分析
两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实验结果
。**