ARP缓存表

来源:互联网 发布:小草 淘宝客 编辑:程序博客网 时间:2024/06/04 17:40
 arp协议 
 ARP协议(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的低层协议,负责将某个IP地址解析成对应的MAC地址.

在局域网中,网络中实际传输的是"帧",帧里面是有目标主机的MAC地址的。当一个基于TCP/IP的应用程序需要从一台主机发送数据给另一台主机时,它把信息分割并封装成包,附上目的主机的IP地址。但是以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包。因此,必须把IP目的地址转换成以太网目的地址。
如何实现IP目的地址转换成以太网目的地址呢?地址解析协议(ARP)就是用于实现这一目的。通过发送ARP广播消息,寻找IP地址到实际MAC地址的映射.当ARP找到了目的主机MAC地址后,就可以形成待发送帧的完整以太网帧头。最后,协议栈将IP包封装到以太网帧中进行传送。

简单地说,ARP协议主要负责将局域网中的32位IP地址转换为对应的48位物理地址,即网卡的MAC地址,比如IP地址为192.168.0.1网卡MAC地址为00-03-92-D0-A7-2B。首先主机向目标主机发送包含IP地址信息的广播数据包,即ARP请求,然后目标主机向该主机发送一个含有IP地址和MAC地址数据包,通过MAC地址两个主机就可以实现数据传输了。
 
什么是arp缓存表?

在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台安装有TCP/IP协议的主机(包括网关)都有一个ARP缓存表。该表中保存这网络中各个电脑的IP地址和MAC地址的对照关系。
在正常情况下arp缓存表能够有效的保证数据传输的一对一性。但是ARP协议对应的ARP缓存表维护机制中存在不完善的地方,当主机收到一个ARP的应答包后,它并不验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。这就是导致arp欺骗的根本原因。

如何查看ARP缓存表?

在Windows下查看ARP缓存信息是通过DOS命令来完成的,点击"开始"菜单,选择"命令",输入 cmd 即可进入命令提示符窗口。 

在命令提示符窗口中键入 arp -a 可以查看ARP缓存中的内容。

在命令提示符窗口中键入 arp -d <IP地址> 或 arp -d 可以删除指定IP或全部的ARP缓存记录。


怎么建立静态的ARP缓存表?

对每台主机进行IP和MAC地址静态绑定是防止ARP欺骗的最根本办法。 

通过命令,arp -s可以实现 "arp –s IP MAC地址"。 
例如:"arp –s 192.168.0.1 CC-CC-AA-AA-BB-BB"。 

如果设置成功会在PC上面通过执行 arp -a 可以看到相关的提示: 
Internet Address Physical Address Type 
192.168.0.1 CC-CC-AA-AA-BB-BB static(静态)
一般不绑定,在动态的情况下: 
Internet Address Physical Address Type 
192.168.10.1 CC-CC-AA-AA-BB-BB dynamic(动态) 

Windows下arp缓存间隔多久进行刷新?

ARP缓存表中的数据可以是动态的(基于ARP应答),也可以是静态的。静态 ARP 缓存条目是永久性的。

ARP缓存表对于动态数据采用了老化机制,存在与之相关的超时值。在超过指定的时间后,将从缓存中删除它们。Windows的动态ARP缓存条目不超过10分钟就会被删除(起始时间从某个ARP缓存条目被创建时开始算起)。
 
 
 
 什么是ARP欺骗,它的目的又是什么?

我们知道在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个arp缓存表能够有效的保证数据传输的一对一性。
在ARP缓存表的实现机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。

将ip地址转换为mac地址是ARP的工作,在网络中发送虚假的ARP respones,就是ARP欺骗。

ARP欺骗根据欺骗的中间对象不同可分为二种:
1>对路由器ARP表的欺骗
欺骗的原理:  通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的IP-MAC地址信息无法更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。

2>对局域网内PC的网关欺骗
欺骗的原理:  建立假网关,给局域网中的PC发送ARP的应答包,让PC认为网关已经改到了新的IP(假网关)上了,让被它欺骗的PC向假网关发数据,而不是通过正常的网关上网。局域网内的PC就是上不了网了。

根据ARP欺骗的原理,要防止ARP欺骗必须阻止计算机和路由器的ARP缓存表被非法篡改。

防止ARP欺骗的主要方法:

1>主机静态绑定网关MAC
使用arp命令静态绑定网关MAC,下面的批处理并加入计算机的启动项中就可完成。

ARP-d
ARP-s 网关IP 网关MAC

优点: 简单易行,普通用户都能操作

缺点: 只能单向绑定。需要跟网关绑定MAC结合使用。这种方法只能在计算机启动时实施一次MAC地址绑定,效果可能有限。

2>网关对PC使用IP+MAC绑定

网关的交换机启用静态ARP绑定功能,将PC用户的IP与MAC进行静态绑定,防止ARP欺骗发生。

优点:效果明显

缺点:操作复杂,工作量比较大。无法保证PC端不被欺骗,需要与PC端绑定网关MAC结合使用。

3>使用ARP服务器
在局域网内架设ARP服务器,替代主机应答ARP包。

优点:效果明显

缺点:配置复杂,需要改变客户端设置。成本高,需要大量的服务器。

4>使用防ARP攻击的软件
下载和使用防ARP攻击的软件,如Ani ARP Sniffer、360ARP防火墙等,这类软件的防范原理是自动检测实时防篡改的MAC地址绑定。

优点:简单易行

缺点:需要用户端都安装,无法保证网关不被欺骗。


目前最为有效的法是MAC地址双向绑定。即路由器上绑定客户机IP-MAC地址对照信息,客户机上绑定路由器IP-MAC地址对照信息。
 
                                    ARP请求风暴
 
  如果您的网络时断时续,如果你的网络打开网页非常缓慢,如果你的网络常常IP冲突,那很有可能是ARP病毒在对网络进行ARP攻击和欺骗。

ARP病毒分为ARP欺骗和ARP风暴两种,其中ARP欺骗主要是假冒别人IP地址进行ARP应答或者请求,从而达到修改别人ARP缓存表项的目的。

本文主要介绍一下ARP请求风暴

什么是ARP请求风暴(ARP扫描)?

ARP请求风暴是指在网络中出现大量ARP请求广播包,几乎都是对网段内的所有主机进行扫描。大量的ARP请求广播几乎完全占用网络带宽资源,导致某些设备(比如网关)忙于处理这些ARP数据而正常ARP数据不能得到处理,ARP请求风暴一般为ARP攻击的前奏。

ARP请求风暴的通讯模式通常是:

请求 -> 请求 -> 请求 -> 请求 -> 请求 -> 请求 -> 应答 -> 请求 -> 请求 -> 请求...

不间断连续的大量ARP请求


ARP请求风暴出现的可能原因

*病毒程序,侦听程序,扫描程序。
*如果网络分析软件部署正确,可能是我们只镜像了交换机上的部分端口,所以大量ARP请求是来自与非镜像口连接的其它主机发出的。
*由于网络部署不当,来自和交换机相连的其它主机的ARP请求广播包。

ARP请求风暴的后果
当整个网段出现大范围发ARP广播风暴(挨个IP轮询MAC),ARP请求占用大量的带宽,将造成网络很不稳定甚至瘫痪。