应对P2P终结者类软件的方案

前段时间经常需要连接到某一不受我控制的小型路由器(无法登陆后台、无法重置)才能上网。局域网内总有人使用P2P终结者类限速软件(例如:P2P终结者啦、网络执法官啦、聚生网管啦什么的)。对于该类软件,如何防御、应对他们,很长一段时间内都没想到好的应对方法。

该类软件的原理就是ARP攻击。软件通过不断发送虚假ARP信息,让局域网内的电脑以为攻击者(也就是P2P终结者的使用者)的电脑是路由器,以劫取其他用户的数据包到攻击者电脑,并在攻击者电脑对数据流量进行控制,从而实现控制网速的目的。应对该类攻击的最容易想到的方法就是ARP防火墙。然而我尝试了若干种ARP防火墙,效果都不理想。包括已经似乎已经停止更新的金山ARP防火墙、数字卫士ARP防火墙和还在更新的腾讯管家ARP防火墙,都不行。也试过ESET安全套装的ARP欺骗防御功能、comodo的防火墙和彩虹ARP防火墙(已经停止维护了),也不好用,其中好几个程序根本无法识别到P2P终结者的攻击。(这里介绍一个ARP攻击侦测程序,名叫XARP,可以上他的官网http://www.xarp.net/下载,在最高敏感度模式下,基本上可以测出P2P终结者的ARP攻击行为)。在我试用过的防火墙中,有的确实也可以识别出ARP攻击(但是效果都没有XARP好),却无法阻止。这也比较容易理解,因为P2P终结者的ARP包不仅欺骗我的电脑,也欺骗路由器,本地的防火墙虽然可能可以防止本机被欺骗,却无法避免防火墙被欺骗。在这些防火墙外,我也试过“反P2P终结者”,听着好像很牛逼,其实并没有卵用啊!不知道是不是P2P终结者更新了反反P2P终结者的功能。。。

要应对P2P终结者累软件的棘手之处在于,因为ARP攻击是拒绝服务攻击(DOS攻击)的一种,他的技术含量并不高,我也很容易模仿攻击者的攻击方式让也上不了网。可是!如果我以其人之道还治其人之身,怕是会造成整个局域网的堵塞,最后的结局只能是大家都上不了网,然而这样的结果并不是我想看到的。考虑良久,发现,在不能改变路由器配置的情况下,可能的有效方法就是本机不断向局域网发送内含正确ARP信息的数据包,并且其发送频率要能压倒P2P终结者。一个实现该功能的程序叫:anti-arpspoof,它的作用就是不断向外发送正确的ARP包(不过同时也支持通过ARP攻击短时间内让局域网内其他用户断网的功能),默认频率为1秒1个,不过PSP终结者类的软件也不是以彻底破坏局域网为目标,所以他们的发包速度并不快,即使是一秒一个的发包频率,在很多情况下,也可以抵消P2P终结者的攻击。

Anti-arpspoof软件下载地址:

http://www.mamsds.net/WebApp/DownloadManager/Download.aspx?ID=5

(实际上,这个软件也是英文维基百科词条“ARP Spoofing”的“工具”——“防御”一节提到的第一个防御工具)

这个工具下载后要使用,用户可能会遇到的问题是,该软件会让用户“选择网络适配器”,其实就是让用户选择你正在使用哪一块网卡上网,也就是该程序应该使用哪一块网卡发送ARP包,一般来讲,笔记本用户只会有两块网卡,一个无线网网卡,一个有线网网卡,但是在下拉菜单里,用户可能会看到更多的项目,那些都是虚拟的。但是,怎么判断哪一块是正在使用的,哪一些是虚拟的呢?大概规律如下:如果是无线上网的,往往是项目名中有“Wireless”的那一个网卡,如果是有线上网的,往往是项目名中有Ethernet的那一块,同时如果项目名包含:虚拟、VPN、Virtual、Client、Host,那多半是某些程序虚拟出来的虚拟网卡,不是他们。选择好自己的网卡后,如果选对了,该程序会检查并填写剩余信息,一般来讲,如果该程序自己填写的网关IP是192.168.0.1或者192.168.1.1,同时本机IP是192.168.1.XXX,192.168.0.XXX,则选择的网卡很可能是正确的,如果检测到的网关IP是0.0.0.0,那绝壁是网卡选错了。

另外需要注意的是,使用Anti-arpspoof的电脑,必须是直接连接到被攻击局域网的电脑,有的情况下,为了使用wifi,用户会在该局域网再接上一个自己的路由器,这么一来,实际上只有自己的路由器暴露在了ARP攻击下,此时连接到自己的路由器的电脑并不受到ARP攻击,安装Anti-ARPSpoof也就不会有用,然而也没有办法把Anti-ARPSpoof安装到自己的路由器上啊!针对这种情况,我觉得只有放弃自己的路由器,直接将自己的电脑连接至该受到攻击的局域网,若很需要wifi,就是用wifi共享软件用电脑共享(是比较麻烦…可是谁让别人使用P2P终结者呢?!)

再介绍一种附加解决方案,有的情况下,不知为何,就算开启Anti-arpspoof,上网速度也还是会被限制,此时可以修改本机网卡的MAC地址,然后设置后,再运行ARP Spoofing,似乎有较大概率可以进一步防止P2P终结者类软件的封锁。我猜测,这么做有效的原因可能是在于,攻击者可能指定了对某一台,或者某几台电脑进行特别的封锁,因而导致ARP Spoofing无效,此时如果修改MAC地址,对于其他电脑来说,本机就是一台新的连接进局域网的电脑了,可能可以跳出P2P终结者的封锁对象范围。

以Win7,Win8为例,在开始菜单(或者开始屏幕)的搜索栏内输入:设备管理器,以管理员身份运行它,然后在树状菜单中找到“网络适配器”一项,在其中找到自己上网需要用到的网卡(也就是上述Anti-arpspoof所需要配置的那个),右击他->属性->高级,接着在一个长长的列表里找到“Network Address”一项,如无意外,其原本的默认设置是“不存在”,此时选择“值”,然后指定一个随机的MAC地址值,例如:58BEA23CA82B。此时ARP Spoofing应该会提示:数据包发送丢失之类的,让他停止发送,重新指定一次网卡,就会发现里面他检测到的MAC地址变成了新填写的,然后重新开始主动防御,即可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注