局域网遭遇ARP欺骗攻击的解决方法

该病毒发作时症状表现为:

1)计算机网络连接正常,但无法上网或者时通时断,经常掉线;

2)用户私密信息(如QQ、网游等帐号)被窃取;

3)局域网内出现网络拥塞,甚至造成一些网络设备当机;

基本概念:

为了能够说明问题,有必要先来介绍一些基本概念,知者略过。

首先来说IP地址,大家应该都很熟悉了,我们知道,IP地址是一段32位(二进制)的无符号整数,例如:192.168.110.1,其最基本的作用就是在(IP)网络中唯一标识一台特定的主机。在Internet上,我们正是凭借IP地址来定位其他主机或者设备并进行相互通讯的。需要注意的是,IP协议位于OSI参考模型的第三层,即网络层,我们通常所说的路由器就工作在这一层。

然后来说MAC地址,也称物理地址,通常由网络设备制造商向 IEEE申请获得,并将其烧入设备(比如网卡)的EPROM芯片中,这是一段48位的无符号整数(二进制),正常情况下是全球唯一的,例如:00-E0- FC-28-AF-36,(注:在2000/XP中,通过点击“开始”,选择“运行”,输入“cmd”调出命令提示符,然后再输入“ipconfig /all”回车,就可以查看自己的MAC地址了)。需要注意的是,MAC的实现是在OSI参考模型的第二层,即数据链路层,传统的(二层)交换机就工作在这一层。

在以太网(Ethernet)中,一个主机要和另一个主机进行直接通信,除了要知道目标主机的IP地址外,还必须要知道目标主机的MAC地址。因为在网络底层的传输过程中,正是通过物理地址来识别主机或者设备的。因此,必须把目的IP地址转换成目的MAC地址,才能保证通信的顺利进行。

那么目标MAC地址是如何获得的呢?这就要通过ARP来实现了,“ARP”全称是“Address Resolution Protocol”,即“地址解析协议”。具体来说,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址。

ARP协议的工作原理

在每台安装有TCP/IP协议的电脑里,都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。(注:从Windows 98起,正确安装网络适配器后,系统会自动为其安装TCP/IP协议)

1. 正常启动计算机后,每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系(注:通过命令arp –a可以看到当前列表信息)。

2. 当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。

3. 网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中;如果ARP表中已经存在该IP的信息,则将其覆盖;随后,目的主机会给源主机发送一个ARP响应数据包,附上自己的MAC地址,告诉对方自己是它正在查找的主机。

4. 当源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息封装数据帧,开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

ARP欺骗的原理:

外因:一般是由传奇外挂等程序,携带和传播该病毒进入企业内网;

内因:在企业局域网内,一般都是采用通过网关来实现上网的方式;所谓的ARP欺骗又大致分两种:一种是对网关进行欺骗——原理是通知网关一系列错误的内网MAC地址,并按一定频率使网关不断的进行学习和更新,从而导致真实的地址信息无法保存在网关的ARP列表中。结果网关就会把所有的数据发送给错误的并不存在的地址去,造成正常的客户端无法收到信息,所以内网的PC就无法上网;另一种是对内网PC的欺骗——原理是通过发布假的ARP信息伪造网关,误导其他的PC向假网关发送数据,而不是通过正常的路由进行外网访问的,造成在同一网关的所有PC都无法访问外网。目前好像这种情况更多一些。

如何防范和应对:

一、关于防范务必落到实处。

1.增强安全意识,不要浏览一些缺乏可信度的网站;

2.不要轻易下载和安装盗版的、不可信任的软件或者程序;

3.不要随便打开不明来历的电子邮件,尤其是邮件附件;

4.不要随便点击打开QQ、MSN等聊天工具上发来的链接信息;

5.不要随便共享文件,如果确实需要最好设置权限,指定访问,建议不可写入;

6.及时修补系统漏洞(比如,打上ARP补丁KB842168等等);

7.修复不安全的设置(比如,为系统设置强密码,即长度不少于七位,使用大写字母、

小写字母、阿拉伯数字和特殊符号三种以上的组合);

8.关闭不必要的系统服务;

9.安装正版的杀毒软件网络版,经常更新病毒库

二、临时处理对策:  

步骤一. 在能上网时,进入MS-DOS窗口,输入命令:arp –a 查看网关IP对应的正确MAC地址,将其记录下来。 注:如果已经不能上网,则先运行一次命令arp –d将arp缓存中的内容删空,计算机可暂时恢复上网(攻击如果不停止的话),一旦能上网就立即将网络断掉(禁用网卡或拔掉网线),再运行arp –a。

步骤二. 如果已经有网关的正确MAC地址,在不能上网时,手工将网关IP和正确MAC绑定,可确保计算机不再被攻击影响。

手工绑定可在MS-DOS窗口下运行以下命令: arp –s 、网关IP、 网关MAC。 例如:假设计算机所处网段的网关为218.197.192.254,本机地址为218.197.192.1在计算机上运行arp –a后输出如下: C:\Documents and Settings>arp -a Interface: 218.197.192.1 --- 0x2 Internet Address Physical Address Type 218.197.192.254 00-01-02-03-04-05 dynamic 其中00-01-02-03-04-05就是网关218.197.192.254对应的MAC地址类型是动态(dynamic)的,因此是可被改变。被攻击后,再用该命令查看,就会发现该MAC已经被替换成攻击机器的MAC,如果大家希望能找出攻击机器,彻底根除攻击,可以在此时将该MAC记录下来,为以后查找做准备。 手工绑定的命令为: arp –s 218.197.192.254 00-01-02-03-04-05 绑定完,可再用arp –a查看arp缓存, C:\Documents and Settings>arp -a Interface: 218.197.192.1 --- 0x2 Internet Address Physical Address Type 218.197.192.254 00-01-02-03-04-05 static 这时,类型变为静态(static),就不会再受攻击影响了。

但是,需要说明的是,手工绑定在计算机关机重开机后就会失效,需要再绑定。所以,要彻底根除攻击,只有找出网段内被病毒感染的计算机,令其杀毒或从做系统方可解决。

找出病毒计算机的方法:

如果已有病毒计算机的MAC地址,可使用NBTSCAN或Anti ARP Sniffer软件找出网段内与该MAC地址对应的IP,即病毒计算机的IP地址,然后可报告校网络中心对其进行查封。 NBTSCAN的使用方法:下载nbtscan.rar到硬盘后解压,然后将cygwin1.dll和nbtscan.exe两文件拷贝到c:\windows\system32(或system)下,进入MSDOS窗口就可以输入命令: nbtscan -r 218.197.192.0/24 (假设本机所处的网段是218.197.192,掩码是255.255.255.0;实际使用该命令时,应将斜体字部分改为正确的网段) 。 注:使用nbtscan时,有时因为有些计算机安装防火墙软件,nbtscan的输出不全,但在计算机的arp缓存中却能有所反应,所以使用nbtscan时,还可同时查看arp缓存,就能得到比较完全的网段内计算机IP与MAC的对应关系。

Anti ARP Sniffer 使用说明

一、功能说明: 使用Anti ARP Sniffer可以防止利用ARP技术进行数据包截取以及防止利用ARP技术发送地址冲突数据包。

二、使用说明:

1、ARP欺骗: 填入网关IP地址,点击[获取网关mac地址]将会显示出网关的MAC地址。点击[自动防护]即可保护当前网卡与该网关的通信不会被第三方监听。 注意:如出现ARP欺骗提示,这说明攻击者发送了ARP欺骗数据包来获取网卡的数据包,如果您想追踪攻击来源请记住攻击者的MAC地址,利用MAC地址扫描器可以找出IP 对应的MAC地址。

2、IP地址冲突 首先点击“恢复默认”然后点击“防护地址冲突”。 如频繁的出现IP地址冲突,这说明攻击者频繁发送ARP欺骗数据包,才会出现IP冲突的警告,利用Anti ARP Sniffer可以防止此类攻击。 首先您需要知道冲突的MAC地址,Windows会记录这些错误。查看具体方法如下: 右击[我的电脑]-->[管理]-->点击[事件查看器]-->点击[系统]-->查看来源为[TcpIP]--->双击事件可以看到显示地址发生冲突,并记录了该MAC地址,请复制该MAC地址并填入Anti ARP Sniffer的本地MAC地址输入框中(请注意将:转换为-),输入完成之后点击[防护地址冲突],为了使MAC地址生效请禁用本地网卡然后再启用网卡,在CMD命令行中输入Ipconfig /all,查看当前MAC地址是否与本地MAC地址输入框中的MAC地址相符。如果成功将不再会显示地址冲突。 注意:如果您想恢复默认MAC地址,请点击[恢复默认],为了使MAC地址生效请禁用本地网卡然后再启用网卡。

(0)

相关推荐

  • 局域网遭遇ARP欺骗攻击的解决方法

    该病毒发作时症状表现为: 1)计算机网络连接正常,但无法上网或者时通时断,经常掉线: 2)用户私密信息(如QQ.网游等帐号)被窃取: 3)局域网内出现网络拥塞,甚至造成一些网络设备当机: 基本概念: 为了能够说明问题,有必要先来介绍一些基本概念,知者略过. 首先来说IP地址,大家应该都很熟悉了,我们知道,IP地址是一段32位(二进制)的无符号整数,例如:192.168.110.1,其最基本的作用就是在(IP)网络中唯一标识一台特定的主机.在Internet上,我们正是凭借IP地址来定位其他主机或

  • 服务器的ARP欺骗攻击的防范的两种解决方法

    服务器的ARP欺骗攻击的防范          这些天我的服务器几乎天天都被人ARP欺骗攻击,网页被挂木马,实在烦死了,深圳的龙岗电信机房实在是够恶心的,不得已,我只好寻找一些防范ARP攻击的方法,目前发现可以使用静态地址法和使用专用软件的方法来防范ARP欺骗攻击. 静态地址法指的是,在本地服务器上,将路由器的MAC地址设置为静态的方式来阻止别人对我的ARP攻击,如果你也越到了类似的ARP欺骗攻击,也可以参考这个方法进行设置. 首先,找到路由器真实的MAC地址,在没有被攻击的条件下,输入命令ar

  • python使用arp欺骗伪造网关的方法

    本文实例讲述了python使用arp欺骗伪造网关的方法.分享给大家供大家参考.具体实现方法如下: #coding:utf-8 ''' arp欺骗局域网pc,将伪造的网关mac以网关的arp应答发送给pc ''' from scapy.all import ARP,send,arping import sys,re stdout=sys.stdout IPADDR="192.168.1.*" gateway_ip='192.168.1.1' #伪造网关mac地址 gateway_hw='

  • asp.net实现访问局域网共享目录下文件的解决方法

    本文以实例讲述了asp.net实现访问局域网共享目录下文件的解决方法,完整代码如下所示: using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls;

  • 局域网遭遇“ARP”病毒的新变种附临时解决方法

    早上来公司发现公司的电脑突然都上不了网,排除了拨号密码等问题,最后只要怀疑是arp病毒导致,于是逐个拔掉网线,首先把感染病毒的电脑断网,我们测试上网一切正常,于是我们就到360safe的官方去下了个,arp防火墙插件,每台电脑都有了arp防火墙,把感染病毒的电脑上网,也不影响我们了,问题解决突然发现原来的arp新变种 复制代码 代码如下: 国家计算机病毒应急处理中心近期监测发现,"ARP"病毒出现了新变种,一旦系统受到感染,可能会导致局域网部分计算机不能正常上网,无法打开网页等现象. 

  • python发送arp欺骗攻击代码分析

    复制代码 代码如下: # -*- coding: cp936 -*-from scapy.all import *from threading import Thread,Lock,activeCount BROADCASTMAC = getmacbyip('192.168.0.120') class Loop(Thread):    def __init__(self,ip):        Thread.__init__(self)        self.ip = ip def run(s

  • 数据库查询中遭遇特殊字符导致问题的解决方法

    数据库查询中的特殊字符的问题 在进行数据库的查询时,会经常遇到这样的情况:  例如想在一个用户数据库中查询他的用户名和他的密码,但恰好该用户使用的名字和密码中有特殊的 字符,例如单引号,"|"号,双引号或者连字符"&".  例如他的名字是1"test,密码是A|&900  这时当你执行以下的查询语句时,肯定会报错: SQL = "SELECT * FROM SecurityLevel WHERE UID="" 

  • 解决http://16a.us/2.js之arp欺骗的方法附专杀工具

    公司局域网访问所有页面都加上了<script src=http://16a.us/2.js></script>代码, 这次是客户端打开的所有网页,故可排除是服务器环境遭遇arp欺骗,综合网上各方意见,得出结论:本地网关或dns被劫持,修复本地连接后故障消除. 根本解决方法,绑定网关mac地址,方法为: 命令行输入arp -s 网关IP 网关MAC 关于网关MAC,可使用arp命令查询. 如果是dns被劫持,则更改dns服务器. 关于js加密解密的两篇文章,想研究上面病毒脚本的朋友可

  • 服务器遭受arp欺骗的解决方法 原创

    为了让大家跟我们一样以后免受arp攻击之苦,我们特给大家准备了下面的文章. 1.arp欺骗不论是局域网也好,还是我们的服务器内网也好,其实都是一样的,无外乎ip是内网还是外网的,都可以安装360的arp防火墙,不论是反追踪还是防御都是不错的,之前我们安装了antiarp的防火墙感觉终于被攻击到停止防御.这里并不是说antiarp防火墙不好只是在一些超大规模的攻击,antiarp容易挂掉.大家可以根据需要安装. 2.服务器最好arp绑定下. 复制代码 代码如下: if exist ipconfig

  • 网站源文件被注入了&lt;iframe&gt;代码—ARP欺骗的木马病毒攻击

    最近我的网站突然出现访问的迟钝,并且打开之后杀毒软件立即提示含有木马病毒. 我就很纳闷,运行了4年的网站一直都好好的最近怎么出现病毒提示呢.职业习惯原因打开了网站的源代码查看,原来在网页源代码的头部被加入了<iframe>嵌套框架网页,该网页执行木马程序-- 按照常理我心中一寒:估计是服务器被人攻陷了,所有文件代码被加了此行代码,于是FTP上去,下载文件下来查看却没有该代码. 于是询问服务器管理员含笑,他一听就说:"是中ARP欺骗的病毒攻击了". 那么什么是"AR

随机推荐