1
分类:
2006-08-23 10:36:50
作为管理软件的“网络执法官”已经流行一段时间了,对于深受其害的小菜们一定对他非常痛恨,今天我们以网管及被管理者的身份说说该软件的执法过程、突破过程。首先我们先看一下网络上对“网络执法官”的描述:可以在局域网中任意一台机器上运行网络执法官的主程,它可以穿透防火墙、实时监控、记录整个局域网用户上线情况,可限制各用户上线时所用的IP、时段,并可将非法用户踢下局域网。该软件适用范围为局域网内部,不能对网关或路由器外的机器进行监视或管理!
因为在网络上传闻它可以穿透防火墙,真是吓了我一大跳,但在软件方有没有这种说法,我就不清楚了,可能是一些拥护者把他神圣化了,于是俺开始研究他如何穿透防火墙的。读完此文您也就知道“穿透防火墙是怎么实现的”。
其实“络网执法官”是通过ARP欺骗来达到管理目的,网络关于ARP欺骗的文章很多,不太清楚的可以去搜索一下。其实“络网执法官”只不过是一个很普通的管理软件,其功能虽说更全面、更稳定但也和其它软件没有什么本质上的分别。要想知道他是怎么管理所在网段而不让所管理的工作站上网,这还要追寻到网络通信原理上面。因为此软件主要特性是建立在数据链路层,所以其它我就将他简化了,图表一是IOS七层参考模型主要功能。
网络基础:物理层、数据链路层、网络层
使用者方面:传输、会话、表示及应用层
我们知道,我们的通信是和网络的七层协议密切相关的,以下我们虚拟一个局域网,来讲解网络通信过程及“网络执法官”的管理过程。当我们在七层协议最上层,主机A想和其它主机通信,比如telnet到主机B,各层都为数据打包后在封装自己能识别的数据标签,我们只说四层以下的通信过程,如图二。
1、当数据包到达传输层,由于telnet使用TCP协议,传输层将上层传过来的数据不变在封装TCP的包头以便目标主机可以正确解包,继续向下层(网络层)传递。
2、网络层同样不会改变之前的数据包,当然也包括之前的任何头文件,首先主机A要对目标主机作判断,他会用自己的IP地址和自己的子网掩码进行与运算结果是172.16.12.0,然后在拿自己的掩码和主机B的IP地址作与运算,结果是172.16.12.0,这个时候他知道他们在同一网段内,这时他会封装自己的IP及目标的IP地址,同上层传下来的数据一下向下传。
3、数据链路层其实包括两个子层,一是LLC子层另一个是MAC子层。我们知道在以太网中通信是物理寻址的,在这层中会封装自己的MAC地址及对方的MAC地址。当然用户是没有通知他MAC地址是多少的,这时主机会查自己的缓存表,看有没有主机B的MAC地址,如果有就封装,否则他会发一个ARP的地址解析广播包,该包只会存活在该网段并且以打了标签,虽说所有的主机都可以收到该广播包,但只会传递到该主机的数据链路层,更确切的说传递到了数据链路层的高层就给丢弃了。
4、接着该数据会从我们的网线等传输介质传出去,主机B当收到数据的时候进行相同的工作但是作相反的操作,我相信不用解释太多您能明白,如图三所示。
以上是简单的描述了一下两台主机的数据传输过程,说了半天也没说到“络网执法官”是怎么可以不让我们上网的,其实我们局域网的工作站想通过代理服务器上公网的数据包和以上就有点不同了,其实明白了上面的我们就很容易了解工作站去公网的数据包是怎么走的了。
话说主机A想去黑X官方网站,数据在传输到网络层的时候在这个时候呢他会用自己的IP和自己的子网掩码进行与结果是172.16.12.0,然后在拿自己的掩码和黑X官方网站的IP与运算(黑X的IP地址由DNS得到),结果为61.152.251.0发现不在同一个网段,注意:这时也是用自己IP和目标IP进行封装,然后向下层传递。在数据链路层这时就不会封装黑X的MAC地址,他也不知道MAC地址是什么,这时他会封装网关的MAC地址,而让网关将数据转发出去。同时在网关收到数据时候,他会查看目标IP地址,当然不是他自己的IP地址了,所以他知道这个数据发是要由他路由出去的,然后把数据包发给了他的邻居或网络运营商的路由器上去,重复以上动作,在TTL值为0之前将数据传递给黑X官方网站,数据传递成功!
至于“网络执法官”为什么可以根据网卡的MAC剥夺我们上网的权力呢!由于“网络执法官”利用ARP欺骗的原理,他会持续不断的发低速的ARP广播包,他主要是欺骗该PC机的第二层设备,使得该主机迷失正确的MAC地址,使第二层功能失效。该软件管理有如下症状:
1、主机无法访问internet,而局域网功能没问题,是由于ARP歪曲的通告一个伪网关MAC地址,使用户机器无法找到真正网关的MAC地址,当然在数据链路层就封装错误了。
2、无法访问internet、无法使用局域网功能(一般网管不会这么做,只会对付受限制用户的手法),这种情况是运行“网络执法官”的主机欺骗了所有局域网中同网段主机,使所有主机歪曲的记录了被管理的主机的MAC地址,同样被管理的主机也会错误的记录到其它主机的MAC地址,导致如上结果。
3、无法访问internet、无法使用局域网功能、桌面上常常弹出“IP地址冲突”的字样(一般受限制用户也不会有此待遇),这种是一个典型的“IP地址争夺游戏”。
在针对这种以MAC地址+IP地址来管理我们的网络管理软件,在对付第一种限制时,局域网无限制。网上有种方法就是用http、sock代理,就是给同网段一台机器上安装相应的软件,起到可以上网的办法!但是您说这种方法可行吗?图四给你结论,当网管发现后会继续封杀!一般网管不用发现该方法也是不可行的,比如:你看到一件事物是假的,你用看到的事物在去思考当然也是假的。
还有一种方法,就是改MAC地址,当然,这种方法是从原理上把这种软件控制功能给搞定了,但是您别忘了这个公司除了网络管理软件还有网管本人呢!他会根据您的IP地址及计算机名继续封杀。小菜问了:“我改了计算机名、IP地址、MAC地址那不就OK了吗?”常理说这种方法是一定行的,但是一个合理规划的网络是不会让你随意更改以上各种设置的。比如公司30台主机,网关的设置是192.168.1.1/27,看你怎么改,当网管工作不认真的时候告诉您,你暂时胜了,要是遇到我哈哈……。如果网管也是个小菜完全可以用这个方法以达到上网的目的,但是这个时候在“网络络执法官”的主界面中会多出一个用户来。
在网络上呼声最高的一种,暴力解决,拿个比管理软件频率更高的ARP软件和网管(频率达到几千个Frame/秒)对攻,更有甚者提倡用网络执法官VS网络执法官,这种方法是最可笑的,因为软件设计中为了保护网管不被攻击而设置了“友邻用户”他们可以相互发现但不能相互管理,这是我说为什么这种方法可笑的原因。另外在“日志”中可以查到友邻用户的记录,如果被网管查到是你在搞鬼,我相信你的这个月的奖金没了!
静态MAC地址突破管理,arp –d、arp –s等命令把ARP高速缓存改成ARP静态缓存,这种对于只限制了internet的功能,并且网络执法官是安装在网关上是行之有效的,如果软件没有安装在网关上嘿嘿……还是不行。(小菜:那么我们就没办法上网了吗?)当然不是,一种方法只能保证TCP连接可以通信,就是自己用静态ARP缓存,并且不断的向网关及其它主机发送正确自己的MAC地址信息,可以保证上internet的TCP正常连接,注:TCP有错误检测机制,可以重传!当然,如果网管是一个非常狡猾而且卑鄙的话,还会在一分钟内把你踢出局!
看网络执法官很厉害吧!大家一定以为我在为这款软件作广告,其实是想告诉大家不同的管理方法我们要用不同的对策,攻防中才有进步嘛!我在来看看他的管理范围如图四,他的管理范围是阴影部分,也包括路由器(网关)的E0接口,而路由其它接口及那个二层交换机S2其它网络设备他无权过问,看到这您应该明白怎么作了吧!当然不是让你把你的网线接到S2的那个交换机上,那不是明确告诉网管我现在不用你管理了吗?我们来个百战百胜的方法,自己加一块网卡、找同网段、双网卡并能正常上网的机器如PC1,用另一跟网线接到那台主机上,做成“代理服务器”让你所有的数据包经过他而到达网关,而网关或管理主机只会认为是PC1(代理服务器)在使用网络,如图五。白色部分就是管理软件的禁区!而之前接受管理而上不了网的那块网卡他还在接受管理,而你的应用层数据以悄无声息的从网络层选择路径的时候绕过他的封锁!
什么原理呢?这种软件他工作在网络的第二层上,他无法穿透第三层设备!而网络流言它可以“穿透防火墙”到现在您应该知道这是怎么穿透的了,何从穿透!硬(软)防火墙全部工作在三层以上,而该软件利用了二层的协议来管理网络,那么他根本就没有达到防火墙的层次如何“穿透”防火墙呢?
好了笔者在本文结束时考虑是以魔高一尺还是道高一丈来结束本文,其实都不重要了,在攻防对立才能进步嘛!没有任何一种管理软件可以完全控制,也没有任何一种手法可以永远可以突破管理软件。