Vista应对网络执法官及ARP欺骗攻击

来源:岁月联盟 编辑:zhuzhu 时间:2008-06-27
Vista应对网络执法官及ARP欺骗攻击内容简介: 很多学校、公司的内部网络里面经常有一些不道德的人用ARP欺骗软件攻击别人,让很多人掉线,甚至让整个网络都瘫痪。针对这个问题,大家可以采取如下的办法。 介绍一个防火墙:Outpost Firewall。它可以防护P2P终结

  很多学校、公司的内部网络里面经常有一些不道德的人用ARP欺骗软件攻击别人,让很多人掉线,甚至让整个网络都瘫痪。针对这个问题,大家可以采取如下的办法。

  介绍一个防火墙:Outpost Firewall。它可以防护“P2P终结者”等局域网软件,效果超好,还能查出局域网哪台机在使用,功能强大,占用资源少,可以评分5个星。

  其实,类似网络管理这种软件都是利用arp欺骗达到目的的。其原理就是使电脑无法找到网关的MAC地址。那么ARP欺骗到底是怎么回事呢?

  首先给大家说说什么是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欺骗。

  解决方法归纳起来有以下方法:

  1. 使用VLAN

  只要你的PC和P2P终结者软件不在同一个VLAN里, 他就拿你没办法.

  2. 使用双向IP/MAC绑定

  在PC上绑定你的出口路由器的MAC地址, P2P终结者软件不能对你进行ARP欺骗, 自然也没法管你, 不过只是PC绑路由的MAC还不安全, 因为P2P终结者软件可以欺骗路由, 所以最好的解决办法是使用PC, 路由上双向IP/MAC绑定, 就是说, 在PC上绑定出路路由的MAC地址, 在路由上绑定PC的IP和MAC地址, 这样要求路由要支持IP/MAC绑定, 比如HIPER路由器.

  3. 使用IP/MAC地址盗用+IP/MAC绑定

  索性你把自己的MAC地址和IP地址改成和运行P2P终结者软件者一样的IP和MAC, 看他如何管理, 这是一个两败俱伤的办法, 改动中要有一些小技巧, 否则会报IP冲突. 要先改MAC地址, 再改IP, 这样一来WINDOWS就不报IP冲突了(windows傻吧))), 做到这一步还没有完, 最好你在PC上吧路由的MAC地址也绑定, 这样一来P2P终结者欺骗路由也白费力气了.

  屏蔽网络执法官的解决方式

  利用Look N Stop防火墙,防止arp欺骗

  1.阻止网络执法官控制

  网络执法官是利用的ARp欺骗的来达到控制目的的。

  ARP协议用来解析IP与MAC的对应关系,所以用下列方法可以实现抗拒网络执法官的控制。如果你的机器不准备与局域网中的机器通讯,那么可以使用下述方法:

  A.在“互联网过滤”里面有一条“ARP : Authorize all ARP packets”规则,在这个规则前面打上禁止标志;

  B.但这个规则默认会把网关的信息也禁止了,处理的办法是把网关的MAC地址(通常网关是固定的)放在这条规则的“目标”区,在“以太网:地址”里选择“不等于”,并把网关的MAC地址填写在那时;把自己的MAC地址放在“来源”区,在“以太网:地址”里选择“不等于”。

  C.在最后一条“All other packet”里,修改这条规则的“目标”区,在“以太网:地址”里选择“不等于”,MAC地址里填FF:FF:FF:FF:FF:FF;把自己的MAC地址放在“来源”区,在“以太网:地址”里选择“不等于”。其它不改动。

  这样网络执法官就无能为力了。此方法适用于不与局域网中其它机器通讯,且网关地址是固定的情况下。

  如果你的机器需要与局域网中的机器通讯,仅需要摆脱网络执法官的控制,那么下述方法更简单实用(此方法与防火墙无关):

  进入命令行状态,运行“ARP -s 网关IP 网关MAC”就可以了,想获得网关的MAC,只要Ping一下网关,然后用Arp -a命令查看,就可以得到网关的IP与MAC的对应。此方法应该更具通用性,而且当网关地址可变时也很好操作,重复一次“ARP -s 网关IP 网关MAC”就行了。此命令作用是建立静态的ARP解析表。

  另外,听说op防火墙也可以阻止,这个还没有试过。

  防止P2P终结者的攻击

  1:第一种方法就是修改自己的MAC地址,下面就是修改方法:

  在"开始"菜单的"运行"中输入regedit,打开注册表编辑器,展开注册表到:HKEY_LOCAL_MACHINE/System /CurrentControlSet/Control/Class/{4D36E9E}子键,在子键下的0000,0001,0002等分支中查找 DriverDesc(如果你有一块以上的网卡,就有0001,0002......在这里保存了有关你的网卡的信息,其中的DriverDesc内容就是网卡的信息描述, 比如我的网卡是Intel 210 41 based Ethernet Controller),在这里假设你的网卡在0000子键。在0000子键下添加一个字符串,命名为"NetworkAddress",键值为修改后的MAC地址,要求为连续的12个16进制数。然后在"0000"子键下的NDI/params中新建一项名为NetworkAddress的子键,在该子键下添加名为"default"的字符串,键值为修改后的MAC地址。

  在NetworkAddress的子键下继续建立名为"ParamDesc"的字符串,其作用为指定Network Address的描述,其值可为"MAC Address"。这样以后打开网络邻居的"属性",双击相应的网卡就会发现有一个"高级"设置,其下存在MACAddress的选项,它就是你在注册表中加入的新项"NetworkAddress",以后只要在此修改MAC地址就可以了。关闭注册表,重新启动,你的网卡地址已改。打开网络邻居的属性,双击相应网卡项会发现有一个MAC Address的高级设置项,用于直接修改MAC地址。

  2:第二种方法就是修改IP到MAC的映射就可使P2P攻击的ARP欺骗失效,就隔开突破它的限制。方法就是在cmd下用ARP -a命令得到网关的MAC地址,最后用ARP -s IP 网卡MAC地址命令把网关的IP地址和它的MAC地址映射起来就可以了。

  Vista和XP系统:只要用arp命令绑定自己MAC和路由MAC就行了,如:

  arp -s 自己IP 自己MAC

  arp -s 路由IP 路由MAC

  最好都绑定一下,只绑定路由的话,出了IP冲突就上不去了,别人照样能T你下线,如果绑定了自己的话,IP冲突了也能上网。

  Windows 9x/2000就需要软件了,搜索一下anti arp sniffer就行了,设置好路由IP,mac 。不过XP和Vista系统也可以安装这个软件,可以清楚的看到谁想T你下线或者想限制你。当然,这样的系统还建议更换成Vista或者XP,只要上面设置一下,p2p终结者就报废了。

  Vista和XP系统在cmd状态输入: arp -a

  如果路由IP 还有自己IP最后面状态是static,那么就表示绑定成功

  arp -d

  绑定之前也最好输入一下,删除非法绑定。

  看到这些,大家都明白了吧,其实都不难的。

图片内容