浅谈P2P终结者原理及其突破方法
P2P终结者按正常来说是个很好的网管软件,但是好多人却拿它来,恶意的限制他人的流量,使他人不能正常上网,下面我们就他的功能以及原理还有突破方法做个详细的介绍!
我们先来看看来自在网上PSP的资料:P2P终结者是由Net.Soft工作室开发的一套专门用来控制企业网络P2P下载流量的网络管理软件。软件针对目前P2P软件过多占用带宽的问题,提供了一个非常简单的解决方案。软件基于底层协议分析处理实现,具有很好的透明性。软件可以适应绝大多数网络环境,包括代理服务器、ADSL路由器共享上网,Lan专线等网络接入环境。
P2P终结者彻底解决了交换机连接网络环境问题,做到真正只需要在任意一台主机安装即可控制整个网络的P2P流量,对于网络中的主机来说具有很好的控制透明性,从而有效地解决了这一目前令许多网络管理员都极为头痛的问题,具有良好的应用价值。
功能可以说是比较强大,作者开发出来就是为网络管理者所使用,但是由于现在由于P2P终结者的破解版在网上很为流传(P2P是一款收费软件),要是被网络管理者正当的使用也罢了,但是却有很多人,下载下来恶意控制别人的网速,使得我们平时正常使用都出现问题!由其P2P终结者,比另外的一些网管软件多出很多功能,最为突出的是控制目前比较流行的多种P2P协议,像:Bittorrent协议、Baidu下吧协议、Poco协议、Kamun协议等,软件可以控制基于上述协议的绝大部分客户端软件,BitComet、比特精灵、贪婪BT、卡盟、百度下吧、Poco、PP点点通等软件!而且还有HTTP下载自定义文件后缀控制功能、FTP下载限制功能、QQ,MSN,PoPo,UC聊天工具控制功能等等!
功能说完了,那么它到底是怎么实现的呢!要想突破它的就得对它的原理有比较清楚的了解吧!
它对这些软件下载的限制最基本的原理也和另外的一些网管软件一样,像网络执法官,都用的是ARP欺骗原理!先看看这个图:
|————》计算机A
|————》计算机B
因特网——–>网关——->路由器(交换机都可)——->|————》计算机C(P2P终结者可以使用在这一五台计算机中的任意一台)
|————》计算机D
|————》计算机E
先来由这个图,给大家说下ARP欺骗原理!首先给大家说说什么是ARP,ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。
ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。
学过网络基础的人都知道这些吧!
正常情况下,当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欺骗。
看到这些内容大家想必也就会明白了,为什么P2P可以对网络中的计算机进行流量控制了,其实在这儿,它充当了一个网关的角色。把一网段内的所有计算机的数据欺骗过来,然后再进行二次转发出去。所有被控制计算机的数据以后都会先经过这台P2P主机然后,再转到网关!
基本原理就是这样,下面就对针对它工作的原理进行突破!
一、就是网上广为流传的绑定机器IP地址和MAC地址
二、就是修改自己的MAC地址,来欺骗P2P对自己机器的扫描,方法就是修改HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}子键,但是效果不理想。
三、使用双向IP/MAC绑定
在PC上绑定你的出口路由器的MAC地址, P2P终结者软件不能对你进行ARP欺骗, 自然也没法管你, 不过只是PC绑路由的MAC还不安全, 因为P2P终结者软件可以欺骗路由, 所以最好的解决办法是使用PC, 路由上双向IP/MAC绑定, 就是说, 在PC
上绑定出路路由的MAC地址, 在路由上绑定PC的IP和MAC地址, 这样要求路由要支持IP/MAC绑定, 比如HIPER路由器.
四、在网上看到一款防火墙,是Look N Stop防火墙,看到网上一些大虾们说可以防止arp欺骗,于是下载下来试了下!它的方法是这样的:不过前提是你的机器不和局域网中的机器通信,自己上自己的网!并且网关是固定的!
A.在“互联网过滤”里面有一条“ARP : Authorize all ARP packets”规则,在这个规则前面打上禁止标志;
B.但这个规则默认会把网关的信息也禁止了,处理的办法是把网关的MAC地址(通常网关是固定的)放在这条规则的“目标”区,在“以太网:地址”里选择“不等于”,并把网关的MAC地址填写在那时;把自己的MAC地址放在“来源”区,在“以太网:地址”里选择“不等于”。
C.在最后一条“Allotherpacket”里,修改这条规则的“目标”区,在“以太网:地址”里选择“不等于”,MAC地址里填FF:FF:FF:FF:FF:FF;把自己的MAC地址放在“来源”区,在“以太网:地址”里选择“不等于”。其它不改动。
五、就是来检测谁的一个网段里面谁的网卡在混杂模式下,一般正常主机是不会在混杂模式下的!除非你是特意的设定,在网上有好多工具可以检测的!
六、就是P2P软件作者又出了一个工具叫:反P2P终结者,可能一方面是为了不再使我们广大网民受害吧,另一个方面为了保护他个的利益吧!毕竟网上现在对这个工具的破解版本出现很多!反P2P终结者使用很简单,只要打开运行就可以检测出同一个网段的P2P工具,而且自动终止!
七、这种方法本人觉得可能推广度不大吧,就是使用VLAN只要你的PC和P2P终结者软件不在同一个VLAN里, 他就拿你没办法.像我们普通寝室上网这种方法就用不上了!不过对于大的网吧可能能使用了!
八、关于限制流量,把自己的子网掩码更改下就可以突破,我把默认设置子网掩码255.255.255.0改成255.240.0.0,还可以上网,p2p终结者,限制流量失效!不过要说明的是我这儿上网的方式是:adsl-路由-计算机,不知道这种方法在别的网络环境下能不能用!
九、还有一个就是我在网上看到了一位大虾说通过限制端口可以突破P2P的限制,对于这种方法,我一直没能想明白!好像arp协议里并没有端口这种说法,端口只是基于TCP/IP的,望高手指点!
以上方法就是我个人的理解,如果有不对之处,或者是有好的方法,大家可以提出来大家一起讨论!