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
绑定之前也最好输入一下, 删除非法绑定。
看到这些, 大家都明白了吧, 其实都不难的。
……