ARP原理、欺骗及防范

ARP原理、欺骗及防范

什么是ARP协议


        ARP协议是“Address ResolutionProtocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

ARP原理:

        我们知道在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。对于原理的解释这里我举例说明:比如主机A(192.168.150.130)要向主机B(192.168.150.140)发送报文,A首先会查询本地的ARP缓存表,找到B的ip地址对应的mac地址后就会进行数据传输。如果未找到,机器A就会在网络上广播一个arp请求报文,目标mac地址是"FF.FF.FF.FF.FF.FF",这表示向同一网段内的所有主机发出这样的询问:“192.168.150.140的mac地址是什么?”网络上其他主机接收到这个ARP询问后并不响应,只有IP地址为192.168.150.140的主机b接收到这个帧时,才向主机a做出这样的回应:“192.168.150.140的mac地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。


这里解释一下什么是ARP缓存表:

在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如附表所示。 

附表 :

ip地址 mac地址 

192.168.1.1 00-aa-00-62-c6-09 

192.168.1.2 00-aa-00-62-c5-03 

192.168.1.3 03-aa-01-75-c3-06 

……  …… 

(在windows系统中在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内容;用“arp -d”命令可以删除ARP表中某一行的内容;用“arp -s”可以手动在ARP表中指定IP地址与MAC地址的对应。)


ARP欺骗:

通过以上的原理分析我们可以发现,arp协议并不只在发送了arp请求才接收arp应答。

假设一个网络环境中,网内有三台主机,分别为主机A、B、C。主机详细信息如下描述:
  A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
  B的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
  C的地址为:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
  正常情况下A和C之间进行通讯,但是此时B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A被欺骗了),这时B就伪装成C了。

        同时,B同样向C发送一个ARP应答,应答包中发送方IP地址四192.168.10.1(A的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(A的MAC地址本来应该是AA-AA-AA-AA-AA-AA),当C收到B伪造的ARP应答,也会更新本地ARP缓存(C也被欺骗了),这时B就伪装成了A。这样主机A和C都被主机B欺骗,A和C之间通讯的数据都经过了B。主机B完全可以知道他们之间说的什么了)。这就是典型的ARP欺骗过程。
  注意:一般情况下,ARP欺骗的某一方应该是网关。

        ARP欺骗存在两种情况:

        一种是欺骗主机作为“中间人”,被欺骗主机的数据都经过它中转一次,这样欺骗主机可以窃取到被它欺骗的主机之间的通讯数据(这种通常也被称作为窃取数据,即嗅探):这种情况就属于我们上面所说的典型的ARP欺骗,欺骗主机向被欺骗主机发送大量伪造的ARP应答包进行欺骗,当通讯双方被欺骗成功后,自己作为了一个“中间人“的身份。此时被欺骗的主机双方还能正常通讯,只不过在通讯过程中被欺骗者“窃听”了。

        另一种让被欺骗主机直接断网:这类情况就是在ARP欺骗过程中,欺骗者只欺骗了其中一方,如B欺骗了A,但是同时B没有对C进行欺骗,这样A实质上是在和B通讯,所以A就不能和C通讯了,另外一种情况还可能就是欺骗者伪造一个不存在地址进行欺骗。

ARP防范:

方法一:静态绑定

        即把 IP和MAC静态绑定,在网内把主机和网关都做IP和MAC绑定。欺骗是通过ARP的动态实时的规则欺骗内网机器,所以我们把ARP全部设置为静态可以解决对内网PC的欺骗,同时在网关也要进行IP和MAC的静态绑定,这样双向绑定才比较保险。

        具体做法:

  对每台主机进行IP和MAC地址静态绑定。
  通过命令,arp -s可以实现 “arp –s IP MAC地址 ”。
  例如:“arp –s 192.168.10.1 AA-AA-AA-AA-AA-AA”。
  如果设置成功会在PC上面通过执行 arp -a 可以看到相关的提示:
  Internet 地址         物理地址              类型
  192.168.10.1 AA-AA-AA-AA-AA-AA static(静态)


方法二:ARP防护软件

         这个方法不做具体介绍,网上多的是。

方法三:具有ARP防护功能的路由器


前几天总是受到ARP攻击,让我们好多人都上不了网,所以就发了这篇博文,当时我的措施就是方法一。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值