作为管理软件的“网络执法官”已经流行一段时间了,对于深受其害的小菜们一定对他非常痛恨,今天我们以网管及被管理者的身份说说该软件的执法过程、突破过程,
反击网络执法官
。首先我们先看一下网络上对“网络执法官”的描述:可以在局域网中任意一台机器上运行网络执法官的主程,它可以穿透防火墙、实时监控、记录整个局域网用户上线情况,可限制各用户上线时所用的IP、时段,并可将非法用户踢下局域网。该软件适用范围为局域网内部,不能对网关或路由器外的机器进行监视或管理!
因为在网络上传闻它可以穿透防火墙,真是吓了我一大跳,但在软件方有没有这种说法,我就不清楚了,可能是一些拥护者把他神圣化了,于是俺开始研究他如何穿透防火墙的。读完此文您也就知道“穿透防火墙是怎么实现的”。
其实“络网执法官”是通过ARP欺骗来达到管理目的,网络关于ARP欺骗的文章很多,不太清楚的可以去搜索一下。其实“络网执法官”只不过是一个很普通的管理软件,其功能虽说更全面、更稳定但也和其它软件没有什么本质上的分别。要想知道他是怎么管理所在网段而不让所管理的工作站上网,这还要追寻到网络通信原理上面。因为此软件主要特性是建立在数据链路层,所以其它我就将他简化了,图表一是IOS七层参考模型主要功能。
网络基础:物理层、数据链路层、网络层
使用者方面:传输、会话、表示及应用层
我们知道,我们的通信是和网络的七层协议密切相关的,以下我们虚拟一个局域网,来讲解网络通信过程及“网络执法官”的管理过程,
电脑资料
《反击网络执法官》(https://www.unjs.com)。当我们在七层协议最上层,主机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当收到数据的时候进行相同的工作但是作相反的操作,我相信不用解释太多您能明白,如图三所示。