ARP简介
  我们知道,当我们在浏览器里面输入网址时,DNS服务器会自动把它解析为IP地址,浏览器实际上查的是IP地址而不是网址。那IP地址是如何转换为第二层物理地址(即MAC地址)的呢?在局域网中,这是通过ARP协议来完成的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。所以网管们应深入理解ARP协议。
一、什么是ARP协议
  ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
编辑本段二、ARP协议的工作原理
  在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如附表所示。附表:
  我们以主机Atcpip协议是最基本的协议192.168.1.5)向主机B192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻是否有目标IP地址。如果到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1MAC地址是什么?”网络上其他主
机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1MAC地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机BMAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
  ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
  ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
二、RARP的工作原理:
  1. 发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;
  2. 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查该MAC地址对应的IP地址;
  3. 如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;
  4. 如果不存在,RARP服务器对此不做任何的响应;
  5. 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。
三、ARPRARP报头结构
  ARPRARP使用相同的报头结构,如图所示。
  报送格式
  硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为1
  协议类型字段:指明了发送方提供的高层协议类型,IP080016进制);
  硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;
  操作字段:用来表示这个报文的类型,ARP请求为1ARP响应为2RARP请求为3RARP响应为4
  发送方的硬件地址(0-2字节):源主机硬件地址的前3个字节;
  发送方的硬件地址(3-5字节):源主机硬件地址的后3个字节;
  发送方IP0-1字节):源主机硬件地址的前2个字节;
  发送方IP2-3字节):源主机硬件地址的后2个字节;
  目的硬件地址(0-1字节):目的主机硬件地址的前2个字节;
  目的硬件地址(2-5字节):目的主机硬件地址的后4个字节;
  目的IP0-3字节):目的主机的IP地址。
四、如何查看ARP缓存表
  ARP缓存表是可以查看的,也可以添加和修改。在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内容了,如附图所示。
  用“arp -d”命令可以删除ARP表中所有的内容;
  用“arp -d +空格+ <指定ip地址> 可以删除指定ip所在行的内容
  用“arp -s”可以手动在ARP表中指定IP地址与MAC地址的对应,类型为static(静态),此项存在硬盘中,而不是缓存表,计算机重新启动后仍然存在,且遵循静态优于动态的原则,所以这个设置不对,可能导致无法上网.
五、ARP欺骗
  其实,此起彼伏的瞬间掉线或大面积的断网大都是ARP欺骗在作怪。ARP欺骗攻击已经成了破坏网吧经营的罪魁祸首,是网吧老板和网管员的心腹大患。
  从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
  第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。
  一般来说,ARP欺骗攻击的后果非常严重,大多数情况下会造成大面积掉线。有些网管员对此不甚了解,出现故障时,认为PC没有问题,交换机没掉线的“本事”,电信也不承认宽带故障。而且如果第一种ARP欺骗发生时,只要重启路由器,网络就能全面恢复,那问题一定是在路由器了。为此,宽带路由器背了不少“黑锅”。
  作为网吧路由器的厂家,对防范ARP欺骗不得已做了不少份内、份外的工作。一、在宽带路由器中把所有PCIP-MAC输入到一个静态表中,这叫路由器IP-MAC绑定。二、力劝网管员在内网所有PC上设置网关的静态ARP信息,这叫PCIP-MAC绑定。一般厂家要求两个工作都要做,称其为IP-MAC双向绑定。
  显示和修改“地址解析协议”(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表。该命令只有在安装了 TCP/IP 协议之后才可用。
  arp -a [inet_addr] [-N [if_addr]
  arp -d inet_addr [if_addr]
  arp -s inet_addr ether_addr [if_addr]
  参数
  -a
  通过询问 TCP/IP 显示当前 ARP 项。如果指定了 inet_addr,则只显示指定计算机的 IP
物理地址。
  -g
  与 -a 相同。
  inet_addr
  以加点的十进制标记指定 IP 地址。
  -N
  显示由 if_addr 指定的网络界面 ARP 项。
  if_addr
  指定需要修改其地址转换表接口的 IP 地址(如果有的话)。如果不存在,将使用第一个可适用的接口。
  -d
  删除由 inet_addr 指定的项。
  -s
  在 ARP 缓存中添加项,将 IP 地址 inet_addr 和物理地址 ether_addr 关联。物理地址由以连字符分隔的6 个十六进制字节给定。使用带点的十进制标记指定 IP 地址。项是永久性的,即在超时到期后项自动从缓存删除。
  ether_addr
  指定物理地址。
六、遭受ARP攻击后现象
  ARP欺骗木马的中毒现象表现为:使用局域网时会突然掉线,过一段时间后又会恢复正常。比如客户端状态频频变红,用户频繁断网,IE浏览器频繁出错,以及一些常用软件出现故障等。如果局域网中是通过身份认证上网的,会突然出现可认证,但不能上网的现象(无法ping通网关),重启机器或在MS-DOS窗口下运行命令arp -d后,又可恢复上网

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。