ARP欺骗什么是ARPARP(AddressResolutionProtocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(也就是相当于OSI的第三层)地址解析为数据链路层(也就是相当于OSI的第二层)的物理地址(注:此处物理地址并不一定指MAC地址)。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表是本地网络流通的基础,而且这个缓存是动态的。ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!这就是一个简单的ARP欺骗。(读者注:某机器A利用其它某机器B的IP地址和一个事实上并不存在的MAC地下向另一台机器C发出ARP请求,导致C中的ARP缓存表的错误映射,称为ARP欺骗)ARP协议的工作原理在每台装有tcp/ip协议的电脑里都有一个ARP缓存表,表里的ip地址与mac地址是一一对应的,如图。arp缓存表以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标的MAC地址,直接把目标的MAC地址写入帧里面发送就可以了;如果在ARP缓存表里面没有目标的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“ff-ff-ff-ff-ff-ff”,这表示向同一网段的所有主机发出这样的询问:“192.168.1.1的mac地址是什么呀?”网络上的其他主机并不回应这一询问,只有主机B接受到这个帧时才向A作出回应:“192.168.1.1的MAC地址是00-aa-0-62-c6-09。(如上表)”这样,主机A就知道了主机B的MAC地址,就可以向主机B发送信息了。同时,它还更新了自己的ARP缓存表,下次再向B发送数据时,直接在ARP缓存表找就可以了。ARP缓存表采用老化的机制,在一段时间里表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询的速度。如何查看ARP缓存表ARP缓存表示可以查看的,也可以添加和修改。在命令提示符下,输入“arp-a”就可以查看arp缓存表的内容了。用“arp-d”可以删除arp缓存表里的所有内容。用“arp-s“可以手动在arp表中制定ip地址与MAC地址的对应关系。ARP欺骗的种类ARP欺骗是黑客常用的攻击手段之一,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。一般来说,ARP欺骗攻击的后果非常严重,大多数情况下会造成大面积掉线。有些网管员对此不甚了解,出现故障时,认为PC没有问题,交换机没掉线的“本事”,电信也不承认宽带故障。而且如果第一种ARP欺骗发生时,只要重启路由器,网络就能全面恢复,那问题一定是在路由器了。为此,宽带路由器背了不少“黑锅”。arp欺骗-网络执法官的原理在网络执法官中,要想限制某台机器上网,只要点击网卡菜单中的权限,选择指定的网卡号或在用户列表中点击该网卡所在行,从右键菜单中选择权限,在弹出的对话框中即可限制该用户的权限。对于未登记网卡,可以这样限定其上线:只要设定好所有已知用户(登记)后,将网卡的默认权限改为禁止上线即可阻止所有未知的网卡上线。使用这两个功能就可限制用户上网。其原理是通过ARP欺骗发给被攻击的电脑一个假的网关IP地址对应的MAC,使其找不到网关真正的MAC地址,这样就可以禁止其上网。修改MAC地址突破网络执法官的封锁根据上面的分析,我们不难得出结论:只要修改MAC地址,就可以骗过网络执法官的扫描,从而达到突破封锁的目的。下面是修改网卡MAC地址的方法:在开始菜单的运行中输入regedit,打开注册表编辑器,展开注册表到:HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Class/子键,在子键下的0000,0001,0002等分支中查找DriverDesc(如果你有一块以上的网卡,就有0001,0002......在这里保存了有关你的网卡的信息,其中的DriverDesc内容就是网卡的信息描述,比如我的网卡是Intel21041basedEthernetController),在这里假设你的网卡在0000子键。在0000子键下添加一个字符串,命名为NetworkAddress,键值为修改后的MAC地址,要求为连续的12个16进制数。然后在0000子键下的NDI/params中新建一项名为NetworkAddress的子键,在该子键下添加名为default的字符串,键值为修改后的MAC地址。在NetworkAddress的子键下继续建立名为ParamDesc的字符串,其作用为指定NetworkAddress的描述,其值可为MACAddress。这样以后打开网络邻居的属性,双击相应的网卡就会发现有一个高级设置,其下存在MACAddress的选项,它就是你在注册表中加入的新项NetworkAddress,以后只要在此修改MAC地址就可以了。关闭注册表,重新启动,你的网卡地址已改。打开网络邻居的属性,双击相应网卡项会发现有一个MACAddress的高级设置项,用于直接修改MAC地址。MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。这个地址与网络无关,即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,它都有相同的MAC地址,MAC地址一般不可改变,不能由用户自己设定。MAC地址通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数,08:00:20代表网络硬件制造商的编号,它由IEEE分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。另外,网络执法官的原理是通过ARP欺骗发给某台电脑有关假的网关IP地址所对应的MAC地址,使其找不到网关真正的MAC地址。因此,只要我们修改IP到MAC的映射就可使网络执法官的ARP欺骗失效,就隔开突破它的限制。你可以事先Ping一下网关,然后再用ARP-a命令得到网关的MAC地址,最后用ARP-sIP网卡MAC地址命令把网关的IP地址和它的MAC地址映射起来就可以了。找到使你无法上网的对方解除了网络执法官的封锁后,我们可以利用Arpkiller的Sniffer杀手扫描整个局域网IP段,然后查找处在混杂模式下的计算机,就可以发现对方了。具体方法是:运行Arpkiller(图2),然后点击Sniffer监测工具,在出现的Sniffer杀手窗口中输入检测的起始和终止IP(图3),单击开始检测就可以了。检测完成后,如果相应的IP是绿帽子图标,说明这个IP处于正常模式,如果是红帽子则说明该网卡处于混杂模式。它就是我们的目标,就是这个家伙在用网络执法官在捣乱。局域网ARP欺骗的应对一、故障现象及原因分析情况一、当局域网内某台主机感染了ARP病毒时,会向本局域网内(指某一网段,比如:10.10.75.0这一段)所有主机发送ARP欺骗攻击谎称自己是这个网端的网关设备,让原本流向网关的流量改道流向病毒主机,造成受害者正常上网。情况二、局域网内有某些用户使用了ARP欺骗程序(如:网络执法官,QQ盗号软件等)发送ARP欺骗数据包,致使被攻击的电脑出现突然不能上网,过一段时间又能上网,反复掉线的现象。关于APR欺骗的具体原理请看我收集的资料ARP欺骗的原理二、故障诊断如果用户发现以上疑似情况,可以通过如下操作进行诊断:点击“开始”按钮-选择“运行”-输入“arp–d”-点击“确定”按钮,然后重新尝试上网,如果能恢复正常,则说明此次掉线可能是受ARP欺骗所致。注:arp-d命令用于清除并重建本机arp表。arp–d命令并不能抵御ARP欺骗,执行后仍有可能再次遭受ARP攻击。三、故障处理1、中毒者:建议使用趋势科技SysClean工具或其他杀毒软件清除病毒。2、被害者:(1)绑定网关mac地址。具体方法如下:1)首先,获得路由器的内网的MAC地址(例如网关地址10.10.75.254的MAC地址为0022aa0022aa)。2)编写一个批处理文件AntiArp.bat内容如下:@echooffarp-darp-s10.10.75.25400-22-aa-00-22-aa将文件中的网关IP地址和MAC地址更改为您自己的网关IP地址和MAC地址即可,计算机重新启动后需要重新进行绑定,因此我们可以将该批处理文件AntiArp.bat文件拖到“windows--开始--程序--启动”中。这样开机时这个批处理就被执行了。(2)使用ARP防火墙(例如AntiArp)软件抵御ARP攻击。AntiArp软件会在提示框内出现病毒主机的MAC地址四,找出ARP病毒源第一招:使用Sniffer抓包在网络内任意一台主机上运行抓包软件,捕获所有到达本机的数据包。如果发现有某个IP不断发送ARPRequest请求包,那么这台电脑一般就是病毒源。原理:无论何种ARP病毒变种,行为方式有两种,一是欺骗网关,二是欺骗网内的所有主机。最终的结果是,在网关的ARP缓存表中,网内所有活动主机的MAC地址均为中毒主机的MAC地址;网内所有主机的ARP缓存表中,网关的MAC地址也成为中毒主机的MAC地址。前者保证了从网关到网内主机的数据包被发到中毒主机,后者相反,使得主机发往网关的数据包均发送到中毒主机。第二招:使用arp-a命令任意选两台不能上网的主机,在DOS命令窗口下运行arp-a命令。例如在结果中,两台电脑除了网关的IP,MAC地址对应项,都包含了192.168.0.186的这个IP,则可以断定192.168.0.186这台主机就是病毒源。原理:一般情况下,网内的主机只和网关通信。正常情况下,一台主机的ARP缓存中应该只有网关的MAC地址。如果有其他主机的MAC地址,说明本地主机和这台主机最后有过数据通信发生。如果某台主机(例如上面的192.168.0.186)既不是网关也不是服务器,但和网内的其他主机都有通信活动,且此时又是ARP病毒