电脑受到ARP欺骗攻击怎么办

如题所述

最简单实际的方法,先装个360安全卫士,开启ARP防火墙,基本上可以抵御大部分的ARP攻击,也可以看到发出ARP攻击的机的IP,想办法找到这台机,看看是否中毒还是有意的攻击,如果是恶意攻击,来个真人PK就可以了。

1、先看下什么是ARP协议

ARP是地址转换协议(Address Resolution Protocol)的英文缩写,它是一个链路层协议,工作在OSI模型的第二层,在本层和硬件接口间进行联系,同时对上层(网络层)提供服务。我们知道二层的以太网交换设备并不能识别32位的IP地址,它们是以48位以太网地址(就是我们常说的MAC地址)传输以太网数据包的。也就是说IP数据包在局域网内部传输时并不是靠IP地址而是靠MAC地址来识别目标的,因此IP地址与MAC地址之间就必须存在一种对应关系,而ARP协议就是用来确定这种对应关系的
协议。ARP工作时,首先请求主机会发送出一个含有所希望到达的IP地址的以太网广播数据包,然后目标IP的所有者会以一个含有IP和MAC地址对的数据包应答请求主机。这样请求主机就能获得要到达的IP地址对应的MAC地址,同时请求主机会将这个地址对放入自己的ARP表缓存起来,以节约不必要的ARP通信。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用(windows系统这个时间为2分钟,而Cisco路由器的这个时间为5分钟),就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

2、ARP欺骗原理

在了解ARP协议后我们再来看看什么是ARP欺骗,它的目的又是什么?通过上面的例子我们知道了在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个缓存表能够有效的保证数据传输的一对一性,也就是说主机A与主机C之间的通讯只通过网关1和网关1,象主机B之类的是无法截获A与C之间的通讯信息的。但是在ARP缓存表的实现机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。

这就导致主机B截取主机A与主机C之间的数据通信成为可能。首先主机B向主机A发送一个ARP应答包说192.168.1.1的MAC地址是03-03-03-03-03-03,主机A收到这个包后并没有去验证包的真实性而是直接将自己ARP列表中的192.168.1.1的MAC地址替换成03-03-03-03-03-03,同时主机B向网关1发送一个ARP响应包说192.168.1.2的MAC是03-03-03-03-03-03,同样网关1也没有去验证这个包的真实性就把自己ARP表中的192.168.1.2的MAC地址替换成03-03-03-03-03-03。当主机A想要与主机C通讯时,它直接把应该发送给网关1(192.168.1.1)的数据包发送到03-03-03-03-03-03这个MAC地址,也就是发给了主机B,主机B在收到这个包后经过修改再转发给真正的网关1,当从主机C返回的数据包到达网关1后,网关1也使用自己ARP表中的MAC,将发往192.168.1.2这个IP地址的数据发往03-03-03-03-03-03这个MAC地址也就是主机B,主机B在收到这个包后再转发给主机A完成一次完整的数据通讯,这样就成功的实现了一次ARP欺骗攻击。因此简单点说ARP欺骗的目的就是为了实现全交换环境下的数据监听与篡改。到这里我们可以知道要完成一次有效的ARP欺骗的关键点就是双向欺骗,也就是说欺骗者必须同时对网关和主机进行欺骗

3、ARP欺骗的检测与控制办法

目前比较有效的检测ARP欺骗攻击的方法主要有两种,一种是在局域网内部使用抓包软件进行抓包分析、另一种是直接到到三层交换机上查询ARP表,这两种方法各有优缺点,具体分析如下:

1、抓包分析
方法--使用抓包软件(如windump、sniffer pro等)在局域网内抓ARP的reply包,以windump为例,使用windump -i 2 -n arp and host 192.168.0.1(192.168.0.1是您的网关地址)抓下来的包我们只分析包含有reply字符的,格式如下:
18:25:15.706335 arp reply 192.168.0.1 is-at 00:07:ec:e1:c8:c3
如果最后的mac不是您网关的真实mac的话,那就说明有ARP欺骗存在,而这个mac就是那台进行ARP欺骗主机的mac。

优点--简单易行,无需特别权限设置,所有用户都可以做,误判率较小!

缺点--必须在局域网内部(广播域内部)听包才有效。

2、三层交换机上查询ARP缓存表
方法--登陆局域网的上联三层交换机,并查看交换机的ARP缓存表(各种品牌的交换机命令有差异)如果在ARP表中存在一个MAC对应多个端口(请注意是一个MAC对应多个端口,而不是一个端口上存在多个MAC)的情况,那么就表明存在ARP欺骗攻击,而这个MAC就是欺骗主机的MAC。

优点--可以远程操作,无需到局域网内部,可以通过脚本来自动分析。

缺点--需要特殊权限,普通用户无法进行操作。

ARP欺骗的控制方法

1、主机静态绑定网关MAC
方法--使用arp命令静态绑定网关MAC,格式如下:
arp -s 网关IP 网关MAC
如果觉得每次手动输入比较复杂,您可以编写一个简单的批处理文件然后让它每次开机时自动运行,
批处理文件如下:
-----------------------------------
@echo off
echo 'arp set'
arp -d
arp -s 网关IP 网关MAC
exit
------------------------------------

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

缺点--只能单向绑定。需要跟网关绑定MAC结合使用。

2、网关使用IP+MAC绑定模式
方法--交换机启用静态ARP绑定功能,将用户的IP与MAC进行静态绑定,防止ARP欺骗发生。

优点--效果明显

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

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

优点--效果明显

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

4、使用防ARP攻击的软件
方法--下载和使用防ARP攻击的软件,如ARPFix或者是AntiARP等。

优点--简单易行

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

总结:因为ARP欺骗利用的是ARP协议本身的缺陷,所以到目前为止,我们依然没有一个十分有效
的方法去控制这种攻击。目前难点主要集中在网关交换机上,我们还没有找到一个很有效
的方法来防范网关上的ARP列表不被欺骗修改。所以当前最有效的办法还是迅速阻断这种攻击的来源。
这就要求能够快速检测到攻击并定位出攻击主机位置后加以处理。

5、防范ARP欺骗的常用工具

ARP防火墙--ARPFix
这是我们CCERT为了解决ARP病毒所开发的一个小防火墙软件,当它被安装在正常主机上时,它能有效地防范自身被ARP欺骗并能检测出感染主机的MAC地址,如果它被安装在感染主机上时它可以阻断感染主机对外发起的ARP欺骗攻击。需要说明的是这只是一款防火墙软件,它不具备查
杀ARP病毒的能力,如果需要查杀ARP病毒,您还是需要专业杀毒软件。

windump软件--windump
tcpdump软件在windows系统下的版本,简单易用!需要winpcap的支持。

sniffer pro软件--sniffer
windows系统低下功能最强大的抓包分析软件。

趋势的ARP专杀工具--TSC_ARP
趋势提供的最新的ARP专杀工具,解压缩后直接运行TSC.exe即可。

AntiARP软件--AntiArp
网络上比较流行的防范ARP欺骗攻击的软件。软件的下载地址和详细信息请参见:
http://www.antiarp.com/

6、ARP欺骗病毒的最新状况

以往的ARP病毒使用ARP欺骗的目的绝大多数都是为了窃取用户的敏感信息,但是我们最近监测到ARP欺骗在病毒中又得到了新的应用,那就是作为传播网页木马病毒的传播手段,当一台主机感染带有这种ARP欺骗功能的病毒后,会在局域网内发动ARP欺骗,它会监听局域网内所有主机的数据包,一旦发现其它主机有访问WEB网页的行为后,就会通过修改相应的数据封包在你访问的网页代码里加入包含有木马程序的网页链接。从而导致局域网内其它主机不管访问什么网站都会被导引到含有木马病毒的网站上去的。当您访问任何网站您的杀毒软件都在报该网页有毒的话,很可能您的局域网内就存在这种攻击。

参考资料:http://inc.swjtu.edu.cn/articleReader.do?art_id=187

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-29
最简单实际的方法,先装个360安全卫士,开启ARP防火墙,基本上可以抵御大部分的ARP攻击,也可以看到发出ARP攻击的机的IP,想办法找到这台机,看看是否中毒还是有意的攻击,如果是恶意攻击,来个真人PK就可以了。 1、先看下什么是ARP协议 ARP是地址转换协议(Address Resolution Protocol)的英文缩写,它是一个链路层协议,工作在OSI模型的第二层,在本层和硬件接口间进行联系,同时对上层(网络层)提供服务。我们知道二层的以太网交换设备并不能识别32位的IP地址,它们是以48位以太网地址(就是我们常说的MAC地址)传输以太网数据包的。也就是说IP数据包在局域网内部传输时并不是靠IP地址而是靠MAC地址来识别目标的,因此IP地址与MAC地址之间就必须存在一种对应关系,而ARP协议就是用来确定这种对应关系的 协议。ARP工作时,首先请求主机会发送出一个含有所希望到达的IP地址的以太网广播数据包,然后目标IP的所有者会以一个含有IP和MAC地址对的数据包应答请求主机。这样请求主机就能获得要到达的IP地址对应的MAC地址,同时请求主机会将这个地址对放入自己的ARP表缓存起来,以节约不必要的ARP通信。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用(windows系统这个时间为2分钟,而Cisco路由器的这个时间为5分钟),就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。 2、ARP欺骗原理 在了解ARP协议后我们再来看看什么是ARP欺骗,它的目的又是什么?通过上面的例子我们知道了在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个缓存表能够有效的保证数据传输的一对一性,也就是说主机A与主机C之间的通讯只通过网关1和网关1,象主机B之类的是无法截获A与C之间的通讯信息的。但是在ARP缓存表的实现机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。 这就导致主机B截取主机A与主机C之间的数据通信成为可能。首先主机B向主机A发送一个ARP应答包说192.168.1.1的MAC地址是03-03-03-03-03-03,主机A收到这个包后并没有去验证包的真实性而是直接将自己ARP列表中的192.168.1.1的MAC地址替换成03-03-03-03-03-03,同时主机B向网关1发送一个ARP响应包说192.168.1.2的MAC是03-03-03-03-03-03,同样网关1也没有去验证这个包的真实性就把自己ARP表中的192.168.1.2的MAC地址替换成03-03-03-03-03-03。当主机A想要与主机C通讯时,它直接把应该发送给网关1(192.168.1.1)的数据包发送到03-03-03-03-03-03这个MAC地址,也就是发给了主机B,主机B在收到这个包后经过修改再转发给真正的网关1,当从主机C返回的数据包到达网关1后,网关1也使用自己ARP表中的MAC,将发往192.168.1.2这个IP地址的数据发往03-03-03-03-03-03这个MAC地址也就是主机B,主机B在收到这个包后再转发给主机A完成一次完整的数据通讯,这样就成功的实现了一次ARP欺骗攻击。因此简单点说ARP欺骗的目的就是为了实现全交换环境下的数据监听与篡改。到这里我们可以知道要完成一次有效的ARP欺骗的关键点就是双向欺骗,也就是说欺骗者必须同时对网关和主机进行欺骗 3、ARP欺骗的检测与控制办法 目前比较有效的检测ARP欺骗攻击的方法主要有两种,一种是在局域网内部使用抓包软件进行抓包分析、另一种是直接到到三层交换机上查询ARP表,这两种方法各有优缺点,具体分析如下: 1、抓包分析 方法--使用抓包软件(如windump、sniffer pro等)在局域网内抓ARP的reply包,以windump为例,使用windump -i 2 -n arp and host 192.168.0.1(192.168.0.1是您的网关地址)抓下来的包我们只分析包含有r 查看更多答案>>本回答被网友采纳
第2个回答  2008-09-25
两种情况:
1.如果是你电脑上中了arp病毒的话当然就是查杀本地病毒。
2.如果你是局域网用户那就麻烦了,可以抓包确定是哪台电脑作怪,然后专门去杀毒哪台。如果你没有权利去管理到那台电脑的话就做好防御。安装360当然是最简单的方法,还有很多防火墙能做到的。
第3个回答  2008-09-23
安装360安全卫士,开启里面的ARP防火墙即可。
第4个回答  2008-09-25
装个专门ARP防火墙,下载地址http://www.newhua.com/soft/52718.htm
相似回答