网络监控软件
一、网络监控软件定义
网络监控软件是指针对局域网内的计算机进行监视和控制;针对内部的电脑上互联网以及内部行为与资产等过程管理;包含了上网监控(上网行为监视和控制、上网行为安全审计)和内网监控(内网行为监视、控制、软硬件资产管理、数据与信息安全);
二、网络监控软件应包含的基本功能
1、上网监控软件(上网行为管理、网络行为审计、内容监视、上网行为控制)
应包含如下基本功能:上网监控、网页浏览监控、邮件监控、Webmail发送监视、聊天监控、BT禁止、流量监视、上下行分离流量带宽限制、并发连接数限制、FTP命令监视、TELNET命令监视、网络行为审计、操作员审计、软网关功能、端口映射和PPPOE拨号支持、通过WEB方式发送文件的监视、通过IM聊天工具发送文件的监视和控制等;
2、内网监控软件(内网行为管理、屏幕监视、软硬件资产管理、数据安全)
应包含如下基本功能:内网监控、屏幕监视和录象、软硬件资产管理、光驱和USB等硬件禁止、应用软件限制、打印监控、ARP火墙、消息发布、日志报警、远程文件自动备份功能、禁止修改本地连接属性、禁止聊天工具传输文件、通过网页发送文件监视、远程文件资源管理、支持远程关机注销等、支持MSN/MSN shell/新浪UC/ICQ/AOL/SKYPE/E话通/YAHOO通/贸易通/google talk/淘宝旺旺/飞信/UUCALL/TM/QQ聊天记录等功能;
三、网络监控软件4种工作模式
1、网关模式:原理是把本机作为其他电脑的网关(设置被监视电脑的默认网关指向本机),分别可以作为单网卡方式和双网卡甚至多网卡方式,原始的PROXY模式目前基本淘汰了一般不再有人采用,目前常用的是NAT存储转发的方式;简单说有点像个路由器工作的方式;因此控制力极强,但由于存储转发的方式,性能多少有点损失;不过效率已经比较好了;缺陷是假如网关死了,全网就瘫痪了;
2、网桥模式:原理是双网卡做成透明桥,而桥是工作在第2层的,所以可以简单理解为桥为一条网线,因此性能是最好的几乎没有损失;WINPCAP本身并不支持该模式;该模式可以说是最理想的了,即使桥坏了,只要简单做个跳线就可以了,因为桥是透明的可以看成网线,即使桥坏了就可以理解为网线坏了换一条而已;支持多VLAN、无线、千M万M、以及VPN、多出口等等几乎所有的网络情况,原因很简单,因为透明桥嘛等于理解为那是网线而已;
3、旁路模式:原理是使用ARP技术建立虚拟网关,只能适合于小型的网络,并环境中不能有限制旁路模式;路由或火墙的限制或被监视电脑安装了ARP火墙都会导致无法旁路成功,因为你一边在禁止旁路一边却正在旁路,所以自相矛盾;同时如网内同时多个旁路将会导致混乱而中断网络;但只要条件该方式是最简单的部署以及最方便的安装设置;
4、旁听模式:原理是旁路监听,就如两个人电话边上有一个并机在听,因此效率就非常低了, 该模式需要采用共享式HUB或交换机镜像;可是如采用老式的共享式HUB将影响网络出口性能;如采用镜像模式,一方面需要投资支持双向的镜像交换机设备,另一方面需要专业的人设置镜像交换机,但有些交换机在阻断过程会导致交换机阻塞或降低网络性能;而根本的问题是很功能就失去了;旁听模式原理性缺陷导致UDP阻断无法完美实现,也会严重损失网络带宽,同时无法实现比如流量限制等很多功能;一般来说,至少损失40%以上的网络性能;而WINPCAP就是采用该模式工作的,正因为如此无论是性能功能就根本上决定了天生的缺陷;
四、网络监控软件局域网抓包技术驱动原理:1、UNIX系统提供了标准的API支持
(1)Packet socket
(2)BPF(主要的流行手段)
A、BSD抓包法
. BPF是一个核心态的组件,也是一个过滤器
. Network Tap接收所有的数据包
. Kernel Buffer,保存过滤器送过来的数据包
. User buffer,用户态上的数据包缓冲区
B、Libpcap(一个抓包工具库)支持BPF
. Libpcap是用户态的一个抓包工具
. Libpcap几乎是系统无关的
C、BPF是一种比较理想的抓包方案
. 在核心态,所以效率比较高,.但是,只有少数OS支持(主要是一些BSD操作系统)
2、Windows平台上通过驱动程序来获取数据包
(1)驱动程序
模式一、在核心层驱动,和WINDOWS操作系统核心结合紧密,效率非常高性能最好;因为网络火墙都在网络上层运行(也就是说在火墙核心层驱动上面运行),因此核心层驱动将不受网络火墙干扰;
模式二、在网络层驱动, 虽然自己写的驱动容易控制管理但性能根本无法与核心层驱动比较;并受防火墙限制和干扰;
(2)WinPcap驱动标准接口(目前国产网络监控软件90%采用)
WINPCAP是目前免费的接口程序,支持100M通讯;但缺点也是同样明显的,可控制性很差导致很多功能都无法实现,只能监听模式无法网关模式导致流量限制、BT限制、UDP阻断方面等等天生的弱点;另外由于WINPCAP版本互相不兼容可能导致无法监控,无法识别千兆网卡或无法读到网卡列表;只能同时监控单网卡等;
(3)kercap驱动标准接口
Kercap内核抓包驱动引擎是上海百络信息技术有限公司自主研发的具有世界领先水平的Windows内核驱动程序,利用IMD技术实现的Kercap内核抓包引擎本来在稳定性、兼容性和安全性上比其它技术实现方式有极大的优势,比传统的winpcap内核程序速度快10倍以上,能支持更大的网络抓包。[1]