标题：ARP攻击
基本定义
ARP（Address Resolution Protocol，地址解析协议）是一个位于TCP/IP协议栈中的底层协议，对应于数据链路层，负责将某个IP地址解析成对应的MAC地址。
基本功能
ARP协议的基本功能就是通过目标设备的IP地址，查询目标设备的MAC地址，以保证通信的进行。 
ARP（AddressResolutionProtocol）是地址解析协议，是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式：表格方式和非表格方式。ARP具体说来就是将网络层（
  
IP层，也就是相当于OSI的第三层）地址解析为数据连接层（MAC层，也就是相当于OSI的第二层）的MAC地址。
ARP攻击的局限性
ARP攻击仅能在以太网（局域网如：机房、内网、公司网络等）进行。
无法对外网（互联网、非本区域内的局域网）进行攻击。
攻击原理
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗，能够在网络中产生大量的ARP通信量使网络阻塞，攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目，造成网络中断或中间人攻击。
ARP攻击主要是存在于局域网网络中，局域网中若有一台计算机感染ARP木马，则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息，并因此造成网内其它计算机的通信故障。
某机器A要向主机B发送报文，会查询本地的ARP缓存表，找到B的IP地址对应的MAC地址后，就会进行数据传输。如果未找到，则A广播一个ARP请求报文（携带主机A的IP地址Ia——物理地址Pa），请求IP地址为Ib的主机B回答物理地址Pb。网上所有主机包括B都收到ARP请求，但只有主机B识别自己的IP地址，于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址，A接收到B的应答后，就会更新本地的ARP缓存。接着使用这个MAC地址发送数据（由网卡附加MAC地址）。因此，本地高速缓存的这个ARP表是本地网络流通的基础，而且这个缓存是动态的。
FAQ
1) 什么是ARP欺骗？
在局域网中，黑客经过收到的ARP Request广播包，能够偷听到其它节点的 (IP, MAC) 地址, 黑客就伪装为A，告诉B (受害者) 一个假地址，使得B在发送给A 的数据包都被黑客截取，而A, B 浑然不知。, 
2) 为什么黑客能够进行ARP欺骗？ ARP 是个早期的网络协议，RFC826在 1980就出版了。早期的互联网采取的是信任模式，在科研、大学内部使用，追求功能、速度，没考虑网络安全。尤其以太网的泛洪特点，能够很方便的用来查询。但这也为日后的黑客开了方便之门。黑客只要在局域网内阅读送上门来的ARP Request就能偷听到网内所有的 (IP, MAC)地址。而节点收到ARP Reply时，也不会质疑。黑客很容易冒充他人， 
3) 能够防止欺骗吗？ 不能。但这种伤害的伤害已经很小。因为局域网的工作环境有了改变， 服务器通常不会和终端主机在同一个局域网。
攻击演化
初期：
这种有目的的发布错误ARP广播包的行为，被称为ARP欺骗。ARP欺骗，最初为黑客所用，成为黑客窃取网络数据的主要手段。黑客通过发布错误的ARP广播包，阻断正常通信，并将自己所用的电脑伪装成别人的电脑，这样原本发往其他电脑的数据，就发到了黑客的电脑上，达到窃取数据的目的。
中期：ARP恶意攻击
后来，有人利用这一原理，制作了一些所谓的“管理软件”，例如网络剪刀手、执法官、终结者等，这样就导致了ARP恶意攻击的泛滥。往往使用这种软件的人，以恶意破坏为目的，多是为了让别人断线，逞一时之快。
特别是在网吧中，或者因为商业竞争的目的、或者因为个人无聊泄愤，造成恶意ARP攻击泛滥。
随着网吧经营者摸索出禁用这些特定软件的方法，这股风潮也就渐渐平息下去了。
现在：综合的ARP攻击
最近这一波ARP攻击潮，其目的、方式多样化，冲击力度、影响力也比前两个阶段大很多。
首先是病毒加入了ARP攻击的行列。以前的病毒攻击网络以广域网为主，最有效的攻击方式是DDOS攻击。但是随着防范能力的提高，病毒制造者将目光投向局域网，开始尝试ARP攻击，例如最近流行的威金病毒，ARP攻击是其使用的攻击手段之一。
相对病毒而言，盗号程序对网吧运营的困惑更大。盗号程序是为了窃取用户帐号密码数据而进行ARP欺骗，同时又会影响的其他电脑上网。
遭受攻击
ARP欺骗木马的中毒现象表现为：使用局域网时会突然掉线，过一段时间后又会恢复正常。比如客户端状态频频变红，用户频繁断网，IE浏览器频繁出错，以及一些常用软件出现故障等。如果局域网中是通过身份认证上网的，会突然出现可认证，但不能上网的现象（无法ping通网关），重启机器或在MS-DOS窗口下运行命令arp -d后，又可恢复上网。
ARP欺骗木马只需成功感染一台电脑，就可能导致整个局域网都无法上网，严重的甚至可能带来整个网络的瘫痪。该木马发作时除了会导致同一局域网内的其他用户上网出现时断时续的现象外，还会窃取用户密码。如盗取QQ密码、盗取各种网络游戏密码和账号去做金钱交易，盗窃网上银行账号来做非法交易活动等，这是木马的惯用伎俩，给用户造成了很大的不便和巨大的经济损失。
基于ARP协议的这一工作特性，黑客向对方计算机不断发送有欺诈性质的ARP数据包，数据包内包含有与当前设备重复的Mac地址，使对方在回应报文时，由于简单的地址重复错误而导致不能进行正常的网络通信。一般情况下，受到ARP攻击的计算机会出现两种现象： 
1.不断弹出“本机的0-255段硬件地址与网络中的0-255段地址冲突”的对话框。 
2.计算机不能正常上网，出现网络中断的症状。 
因为这种攻击是利用ARP请求报文进行“欺骗”的，所以防火墙会误以为是正常的请求数据包，不予拦截。因此普通的防火墙很难抵挡这种攻击。
攻击防护
防护原理防止ARP攻击是比较困难的,修改协议也是不大可能。但是有一些工作是可以提高本地网络的安全性。 
首先，你要知道，如果一个错误的记录被插入ARP或者IP route表，可以用两种方式来删除。 
a. 使用arp –d host_entry  ARP断网攻击
b. 自动过期，由系统删除 
这样，可以采用以下的一些方法： 
1）. 减少过期时间 
#ndd –set /dev/arp arp_cleanup_interval 60000 
#ndd -set /dev/ip ip_ire_flush_interval 60000 
60000=60000毫秒 默认是300000 
加快过期时间，并不能避免攻击，但是使得攻击更加困难，带来的影响是在网络中会大量的出现ARP请求和回复，请不要在繁忙的网络上使用。 
2）. 建立静态ARP表 
这是一种很有效的方法，而且对系统影响不大。缺点是破坏了动态ARP协议。可以建立如下的文件。 
test. nsfocus .com 08:00:20:ba:a1:f2 
user. nsfocus . com 08:00:20:ee:de:1f 
使用arp –f filename加载进去，这样的ARP映射将不会过期和被新的ARP数据刷新，除非使用arp –d才能删除。但是一旦合法主机的网卡硬件地址改变，就必须手工刷新这个arp文件。这个方法，不适合于经常变动的网络环境。 
3）．禁止ARP 
可以通过ipconfig interface –arp 完全禁止ARP，这样，网卡不会发送ARP和接受ARP包。但是使用前提是使用静态的ARP表，如果不在ARP表中的计算机 ，将不能通信。这个方法不适用与大多数网络环境，因为这增加了网络管理的成本。但是对小规模的安全网络来说，还是有效可行的。 
但目前的ARP病毒层出不穷,已经不能单纯的依靠传统的方法去防范,比如简单的绑定本机ARP表,我们还需要更深入的了解ARP攻击原理,才能够通过症状分析并解决ARP欺骗的问题。解决ARP最根本的办法ARP欺骗和攻击问题，是企业网络的心腹大患。关于这个问题的讨论已经很深入了，对ARP攻击的机理了解的很透彻，各种防范措施也层出不穷。
但问题是，现在真正摆脱ARP问题困扰了吗？从用户那里了解到，虽然尝试过各种方法，但这个问题并没有根本解决。原因就在于，目前很多种ARP防范措施，一是解决措施的防范能力有限，并不是最根本的办法。二是对网络管理约束很大，不方便不实用，不具备可操作性。三是某些措施对网络传输的效能有损失，网速变慢，带宽浪费，也不可取。
本文通过具体分析一下普遍流行的四种防范ARP措施，去了解为什么ARP问题始终不能根治。并进一步分析在免疫网络的模式下，对ARP是如何彻底根除的，为什么只有免疫网络能够做到。个人用户的防护方法首先要明确ARP攻击仅能在局域网内进行，没有路由器的家庭用户可以不必考虑
1.安装ARP防火墙
如今大部分安全辅助软件均内置ARP防火墙，著名的有：360安全卫士（内置）、金山贝壳ARP专杀、金山卫士
2.安装杀毒软件
杀毒软件可以有效的防止ARP病毒进入机器
3.已经中毒的处理方法
由于中毒后网速会减慢，杀软失效。所以我们应该用专门的专杀杀毒后安装杀毒软件保护系统
必须注意！！！ARP病毒大多捆绑木马下载者，不要以为ARP病毒对自己工作没有太大影响就可以忽略！！！局域网ARP预防小技巧目前防护局域网中ARP木马病毒最有效的方法是通过网关和终端双向绑定ip和mac地址来实现，但是这种方法还是不能有效的阻止ARP对局域网的攻击，原因何在？其实最重要的原因是在我们发现ARP病毒并设置双向绑定时，ARP病毒早已更改了本地电脑的MAC地址，从而导致绑定无效。另一方面就是人为的破坏，比如说局域网中有人使用P2P终结者等诸多情况，都可能导致局域网中充斥着大量的ARP包，这些都将会导致网络性能的下降。针对这些问题，我们应该如何面对和解决呢？
第一，做好第一道防线，实现网关和终端双向绑定IP和MAC地址。针对局域网中的每一台计算机利用“IPCONFIG”命令获取本机IP和MAC地址，并将该信息添加到路由器ARP映射表中。同时通过查看路由器的LAN口参数获取其IP和MAC地址，然后在局域网中的每台计算机上实现静态ARP绑定。具体做法是：打开“运行”对话框，输入CMD进入MSdos界面，通过IPCONFIG命令获取本机的IP地址和MAC地址。然后打开浏览器，输入路由器的地址，进入路由器配置界面，在界面中定位到ARP与IP地址绑定位置处，设置“单机的MAC地址和IP地址的匹配规则”，指定局域网中各个计算机的IP地址和其对应MAC地址实现绑定。
第二，通过“网络参数”-“LAN口参数”来查找路由器的MAC地址和IP地址，然后在局域网中的每台电脑中实现静态ARP绑定。具体做法：打开“运行”对话框，输入CMD进入MSdos界面，然后通过输入如图所示的命令实现网关IP地址和MAC地址的绑定。
第三，付出少需的代价换来局域网的长久平静。打开安全防护软件的ARP防火墙功能。
第四，斩草除根，彻底追踪查杀ARP病毒。利用局域网ARP欺骗检测工具来确定ARP攻击源，然后利用ARP专杀工具进行杀毒。查找并定位到攻击源地址以后，在相应的计算机上安装ARP专杀工具进行查杀操作。例如，当我们的机子受到ARP攻击时，我们查到了攻击源的MAC地址，将该MAC地址与路由器当中的ARP映射表进行对比来确定攻击源主机，然后对该主机进入ARP的查杀工作。[1]
拓展阅读
上篇：四种常见防范ARP措施的分析
一、双绑措施
双绑是在路由器和终端上都进行IP-MAC绑定的措施，它可以对ARP欺骗的两边，伪造网关和截获数据，都具有约束的作用。这是从ARP欺骗原理上进行的防范措施，也是最普遍应用的办法。它对付最普通的ARP欺骗是有效的。
但双绑的缺陷在于3点：
1、 在终端上进行的静态绑定，很容易被升级的ARP攻击所捣毁，病毒的一个ARP –d命令，就可以使静态绑定完全失效。
2、 在路由器上做IP-MAC表的绑定工作，费时费力，是一项繁琐的维护工作。换个网卡或更换IP，都需要重新配置路由。对于流动性电脑，这个需要随时进行的绑定工作，是网络维护的巨大负担，网管员几乎无法完成。
3、 双绑只是让网络的两端电脑和路由不接收相关ARP信息，但是大量的ARP攻击数据还是能发出，还要在内网传输，大幅降低内网传输效率，依然会出现问题。
因此，虽然双绑曾经是ARP防范的基础措施，但因为防范能力有限，管理太麻烦，现在它的效果越来越有限了。
二、ARP个人防火墙
在一些杀毒软件中加入了ARP个人防火墙的功能，它是通过在终端电脑上对网关进行绑定，保证不受网络中假网关的影响，从而保护自身数据不被窃取的措施。ARP防火墙使用范围很广，有很多人以为有了防火墙，ARP攻击就不构成威胁了，其实完全不是那么回事。
ARP个人防火墙也有很大缺陷：
1、它不能保证绑定的网关一定是正确的。如果一个网络中已经发生了ARP欺骗，有人在伪造网关，那么，ARP个人防火墙上来就会绑定这个错误的网关，这是具有极大风险的。即使配置中不默认而发出提示，缺乏网络知识的用户恐怕也无所适从。
2 、ARP是网络中的问题，ARP既能伪造网关，也能截获数据，是个“双头怪”。在个人终端上做ARP防范，而不管网关那端如何，这本身就不是一个完整的办法。ARP个人防火墙起到的作用，就是防止自己的数据不会被盗取，而整个网络的问题，如掉线、卡滞等，ARP个人防火墙是无能为力的。
因此，ARP个人防火墙并没有提供可靠的保证。最重要的是，它是跟网络稳定无关的措施，它是个人的，不是网络的。
三、VLAN和交换机端口绑定
通过划分VLAN和交换机端口绑定，以图防范ARP，也是常用的防范方法。做法是细致地划分VLAN，减小广播域的范围，使ARP在小范围内起作用，而不至于发生大面积影响。同时，一些网管交换机具有MAC地址学习的功能，学习完成后，再关闭这个功能，就可以把对应的MAC和端口进行绑定，避免了病毒利用ARP攻击篡改自身地址。也就是说，把ARP攻击中被截获数据的风险解除了。这种方法确实能起到一定的作用。
不过，VLAN和交换机端口绑定的问题在于：
1、没有对网关的任何保护，不管如何细分VLAN，网关一旦被攻击，照样会造成全网上网的掉线和瘫痪。
2、把每一台电脑都牢牢地固定在一个交换机端口上，这种管理太死板了。这根本不适合移动终端的使用，从办公室到会议室，这台电脑恐怕就无法上网了。在无线应用下，又怎么办呢？还是需要其他的办法。
3、实施交换机端口绑定，必定要全部采用高级的网管交换机、三层交换机，整个交换网络的造价大大提高。
因为交换网络本身就是无条件支持ARP操作的，就是它本身的漏洞造成了ARP攻击的可能，它上面的管理手段不是针对ARP的。因此，在现有的交换网络上实施ARP防范措施，属于以子之矛攻子之盾。而且操作维护复杂，基本上是个费力不讨好的事情。
四、PPPoE
网络下面给每一个用户分配一个帐号、密码，上网时必须通过PPPoE认证，这种方法也是防范ARP措施的一种。PPPoE拨号方式对封包进行了二次封装，使其具备了不受ARP欺骗影响的使用效果，很多人认为找到了解决ARP问题的终极方案。
问题主要集中在效率和实用性上面：
1、PPPoE需要对封包进行二次封装，在接入设备上再解封装，必然降低了网络传输效率，造成了带宽资源的浪费，要知道在路由等设备上添加PPPoE Server的处理效能和电信接入商的PPPoE Server可不是一个数量级的。
2、PPPoE方式下局域网间无法互访，在很多网络都有局域网内部的域控服务器、DNS服务器、邮件服务器、OA系统、资料共享、打印共享等等，需要局域网间相互通信的需求，而PPPoE方式使这一切都无法使用，是无法被接受的。
3、不使用PPPoE，在进行内网访问时，ARP的问题依然存在，什么都没有解决，网络的稳定性还是不行。
因此，PPPoE在技术上属于避开底层协议连接，眼不见心不烦，通过牺牲网络效率换取网络稳定。最不能接受的，就是网络只能上网用，内部其他的共享就不能在PPPoE下进行了。
通过对以上四种普遍的ARP防范方法的分析，我们可以看出，现有ARP防范措施都存在问题。这也就是ARP即使研究很久很透，但依然在实践中无法彻底解决的原因所在了。
下篇：免疫网络是解决ARP最根本的办法
道高一尺魔高一丈，网络问题必定需要网络的方法去解决。目前，欣全向推广的免疫网络就是彻底解决ARP问题的最实际的方法。
从技术原理上，彻底解决ARP欺骗和攻击，要有三个技术要点。
1、终端对网关的绑定要坚实可靠，这个绑定能够抵制被病毒捣毁。
2、接入路由器或网关要对下面终端IP-MAC的识别始终保证唯一准确。
3、网络内要有一个最可依赖的机构，提供对网关IP-MAC最强大的保护。它既能够分发正确的网关信息，又能够对出现的假网关信息立即封杀。
免疫网络在这三个问题上，都有专门的技术解决手段，而且这些技术都是厂家欣全向的技术专利。下面我们会详细说明。现在，我们要先做一个免疫网络结构和实施的简单介绍。
免疫网络就是在现有的路由器、交换机、网卡、网线构成的普通交换网络基础上，加入一套安全和管理的解决方案。这样一来，在普通的网络通信中，就融合进了安全和管理的机制，保证了在网络通信过程中具有了安全管控的能力，堵上了普通网络对安全从不设防的先天漏洞。
实施一个免疫网络不是一个很复杂的事，代价并不大。它要做的仅仅是用免疫墙路由器或免疫网关，替换掉现有的宽带接入设备。在免疫墙路由器下，需要自备一台服务器24小时运行免疫运营中心。免疫网关不需要，已自带服务器。这就是方案的所需要的硬件调整措施。硬件的价位，从1000多元到10万元，针对各种不同的企业需求，大、中、小、微型企业都能各取所需，选择的范围非常广泛。
软性的网络调整是IP规划、分组策略、终端自动安装上网驱动等配置和安装工作，以保证整个的安全管理功能有效地运行。其实这部分工作和网管员对网络日常的管理没有太大区别。
免疫网络具有强大的网络基础安全和管理功能，对ARP的防范仅是其十分之一不到的能力。但本文谈的是ARP问题，所以我们需要回过头来，具体地解释免疫网络对ARP欺骗和攻击防范的机理。至于免疫网络更多的强大，可以后续研究。
前述治理ARP问题的三个技术要点，终端绑定、网关、机构三个环节，免疫网络分别采用了专门的技术手段。
1、 终端绑定采用了看守式绑定技术。免疫网络需要每一台终端自动安装驱动，不安装或卸载就不能上网。在驱动中的看守式绑定，就是把正确的网关信息存贮在非公开的位置加以保护，任何对网关信息的更改，由于看守程序的严密监控，都是不能成功的，这就完成了对终端绑定牢固可靠的要求。
2、 免疫墙路由器或免疫网关的ARP先天免疫技术。在NAT转发过程中，由于加入了特殊的机制，免疫墙路由器根本不理会任何对终端IP-MAC的ARP申告，也就是说，谁都无法欺骗网关。与其他路由器不同，免疫墙路由器没有使用IP-MAC的列表进行工作，当然也不需要繁琐的路由器IP-MAC表绑定和维护操作。先天免疫，就是不用管也具有这个能力。
3、 保证网关IP-MAC始终正确的机构，在免疫网络中是一套安全机制。首先，它能够做到把从路由器中取到的真实网关信息，分发到每一个网内终端，而安装有驱动的终端，只接受这样的信息，其他信息不能接受，保证了网关的唯一正确性。其次，在每一台终端，免疫驱动都会拦截病毒发出的错误网关传播，不使其流窜到网络内，把ARP欺骗和攻击从根源上切断。
从以上三个措施来看，免疫网络确实真正解决了困扰已久的ARP问题，技术上是严谨的，应用上是可行的，成本也是相对低廉。所以，与常见的四种ARP防范办法比较，免疫网络是解决ARP最根本的办法。