网络通信 频道

经验:深入ARP协议 解决ARP欺骗问题

三: ARP地址表的作用,清空ARP缓存的作用

  (2)立即把网线拔下接入到B,再打开WEB管理。可是我却发现,立即就能访问。也就是说没有出现刚才所说,需要清空ARP缓存的情况。怎么回事?看下面我们捕包的截图:


    上图蓝色部分是A的包,为了明显区分,我把B上的WEB访问端口改了下,这样我们就看到是褐色的了,并被omnipeek识别为使用了代理。我们发现蓝色和褐色之间,并没有ARP的请求与获取(SMB不用管),也就是说没有做任何动作,就可以访问B了。为什么呢?换了一个设备MAC地址应该是不同的啊!大家看上面有个蓝色选中区域,是一个从Draytek:27:9A:25 发出来的请求192。168。22。6的ARP请求包,而这个MAC地址的IP是192。168。22。1(即是我们设置给AB路由的IP),请大家看上图的解码部分。由此我们便非常清楚了,在我们进行HTTP的连接之前,路由器已经把自己的MAC地下送过来了(因为俺在B上把syslog服务器设给了192。168。22。6,当时这台机器不在线),所以我们没有任何感觉,就可以正常打开B的WEB管理了。
  目的没有达到,我们得继续。

  
   (3)我们再把网线拔出来,重新接回A,再立即访问A的WEB管理介面。终于不能打开了。看捕包截图:

   
   由上图我们看到,我们发出的HTTP请求没有得到回应,于是,我立即打开CMD,输入ARP –D ,清空ARP缓存。接着就看到出现新的ARP请求,完了后HTTP也可以访问了。
   
   目标完成!

   总结:
   局域网的通信是基于MAC地址的,而更多的程序都是基于IP地址,这就要有IP到MAC的映射了。一般情况,当机器在完成了映射的学习之后,都会在缓存中保存一段时间,所以这个时候更换了网络设备,也就更换了MAC地址,而映射却没有更新,便造成了不能访问的假像。而我们只须把这缓存清空让机器重新学习一次即可。

0
相关文章