ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的低层协议,负责将某个IP地址解析成对应的MAC地址。
    “网管,怎么又掉线了?!”每每听到客户的责问,网管员头都大了。其实,此起彼伏的瞬间掉线或大面积的断网大都是ARP欺骗在作怪。ARP欺骗***已经成了破坏网吧经营的罪魁祸首,是网吧老板和网管员的心腹大患。
    从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
    第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。
    一般来说,ARP欺骗***的后果非常严重,大多数情况下会造成大面积掉线。有些网管员对此不甚了解,出现故障时,认为PC没有问题,交换机没掉线的“本事”,电信也不承认宽带故障。而且如果第一种ARP欺骗发生时,只要重启路由器,网络就能全面恢复,那问题一定是在路由器了。为此,宽带路由器背了不少“黑锅”。
    作为网吧路由器的厂家,对防范ARP欺骗不得已做了不少份内、份外的工作。一、在宽带路由器中把所有PC的IP-MAC输入到一个静态表中,这叫路由器IP-MAC绑定。二、力劝网管员在内网所有PC上设置网关的静态ARP信息,这叫PC机IP-MAC绑定。一般厂家要求两个工作都要做,称其为IP-MAC双向绑定。
    方法是有效的,但工作很繁琐,管理很麻烦。每台PC绑定本来就费力,在路由器中添加、维护、管理那么长长的一串列表,更是苦不堪言。一旦将来扩容调整,或更换网卡,又很容易由于疏忽造成混乱。如果您有所担心,那么不妨选用欣向网吧路由IXP机种,它可以使您宽心一些。因为欣向路由器根本不需要IP-MAC绑定,没有那长长的一串地址表。对付ARP,您只要做PC的单向绑定就可以了。该路由能够有效拒绝ARP对网关的欺骗,它是先天免疫的!
    欣向路由的ARP先天免疫取决于它的二个有力的技术措施。一是独特的NAT处理机制,二是网关的主动防范机制。
    产品对NAT的处理不同于通用协议栈的方式,它在原有的网络协议基础上,进行了强化、保护和扩容。虽然NAT是标准的网络协议,但实现方法可以各显其能,保证殊途同归就行。ARP欺骗只对公开的、通用的系统起作用,它利用了通用系统工作方式上的漏洞,而对NAT实现机制却无能为力,因为NAT设计了强有力的保护字段。这就是欣向路由能够对ARP先天免疫的原理。
    另外,为对抗假冒网关的ARP欺骗,产品设计了网关的ARP广播机制,它以一个可选定的频次,向内网宣布正确的网关地址,维护网关的正当权益。在暂时无法及时清除ARP病毒,网管员还没有做PC上的IP-MAC绑定时,它能在一定程度上维持网络的运行,避免灾难性后果,赢取系统修复的时间。这就是ARP主动防范机制。
    不过,如果不在PC上绑定IP-MAC,虽然有主动防范机制,但网络依然在带病运行。因为这种ARP是内网的事情,是不通过路由器的。让路由器插手只能做到对抗,不能根绝。ARP太猖獗时,就会发生时断时续的故障,那是主动防范机制在与ARP欺骗进行拉锯式的斗争。为此,产品还专门提供了一个ARP欺骗侦测、定位、防范的工具软件,免费发放给所有的网吧,帮助网管员们发现ARP欺骗的存在,为清除ARP欺骗源提供工作辅佐,并加入了欣向主动防范机制,有效对付ARP欺骗。
    尽管如此,仍然提醒广大的网吧网管员,为了一劳永逸,还是费点力为每台PC做IP-MAC绑定吧,这样可以彻底根除ARP欺骗带来的烦恼。况且,路由只需要单向绑定,已经为您省去了另一半更繁琐的工作,并且设置时不需要重启路由器断网。路由器本身不怕ARP,您再做好PC上的绑定,让PC也不怕ARP,双管齐下,您的网吧就可以高枕无忧了
ARP欺骗的原理
网络执法官中利用的ARP欺骗使被***的电脑无法上网,其原理就是使该电脑无法找到网关的MAC地址。那么ARP欺骗到底是怎么回事呢?知其然,知其所以然是我们《***X档案》的优良传统,下面我们就谈谈这个问题。
首先给大家说说什么是ARP,ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于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欺骗。
网络执法官利用的就是这个原理!知道了它的原理,再突破它的防线就容易多了。
三、修改MAC地址突破网络执法官的封锁
根据上面的分析,我们不难得出结论:只要修改MAC地址,就可以骗过网络执法官的扫描,从而达到突破封锁的目的。下面是修改网卡MAC地址的方法:
在"开始"菜单的"运行"中输入regedit,打开注册表编辑器,展开注册表到:HKEY_LOCAL_MACHINE/System/CurrentControl
Set/Control/Class/{4D36E972-E325-11CE-BFC1-08002BE103
18}子键,在子键下的0000,0001,0002等分支中查找DriverDesc(如果你有一块以上的网卡,就有0001,0002......在这里保存了有关你的网卡的信息,其中的DriverDesc内容就是网卡的信息描述,比如我的网卡是Intel 210 41 based Ethernet ontroller),在这里假设你的网卡在0000子键。
在0000子键下添加一个字符串,命名为"NetworkAddress",键值为修改后的MAC地址,要求为连续的12个16进制数。然后在"0000"子键下的NDI/params中新建一项名为NetworkAddress的子键,在该子键下添加名为"default"的字符串,键值为修改后的MAC地址。
在NetworkAddress的子键下继续建立名为"ParamDesc"的字符串,其作用为指定Network Address的描述,其值可为"MAC Address"。这样以后打开网络邻居的"属性",双击相应的网卡就会发现有一个"高级"设置,其下存在MAC Address的选项,它就是你在注册表中加入的新项"NetworkAddress",以后只要在此修改MAC地址就可以了。
关闭注册表,重新启动,你的网卡地址已改。打开网络邻居的属性,双击相应网卡项会发现有一个MAC Address的高级设置项,用于直接修改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 -s IP 网卡MAC地址命令把网关的IP地址和它的MAC地址映射起来就可以了。
四、找到使你无法上网的对方
解除了网络执法官的封锁后,我们可以利用Arpkiller的"Sniffer杀手"扫描整个局域网IP段,然后查找处在"混杂"模式下的计算机,就可以发现对方了。具体方法是:运行Arpkiller然后点击"Sniffer监测工具",在出现的"Sniffer杀手"窗口中输入检测的起始和终止IP单击"开始检测"就可以了。
检测完成后,如果相应的IP是绿帽子图标,说明这个IP处于正常模式,如果是红帽子则说明该网卡处于混杂模式。它就是我们的目标,就是这个家伙在用网络执法官在捣乱。