400-099-0376

在线试用
微信扫码联系专属客服
安企神软件官网
首页
下载中心
客户列表
关于安企神

从“山寨”角度看国内上网行为管理软件

2022-07-15

这两年,随着上网行为管理市场的不断兴盛,提供这方面产品的厂商也不断增多。尤其是上网行为管理的软件产品,一如雨后春笋,遍地生根。其实这些产品所宣传的功能很多是相似的,如记录访问网站、控制上网行为、网络留言审计、邮件监控、聊天内容的监控以及流量监控等等。如何区分这些产品的优劣似乎是一个很大的问题。其实,如果你对山寨手机有较多了解,这个问题看起来就容易了。

台湾芯片厂商联发科于2006年后开发出了一个手机芯片,把需要几十个人合作工作一年多才能完成的手机主板、软件集成到一起,研制出了廉价的MTK手机芯片,一下让手机的生产没有了核心技术,从而导致不正规的手机厂商如雨后春笋般冒出,把正规手机市场全部冲乱――生产商只要将联发科芯片买来,配上手机外壳和电池,就可以组装出一款手机。尽管其质量没有太多的保证,很多产品也没有多少售后服务,但因为其价格极其低廉,加上外形时尚等原因,市场非常火爆。可以肯定的是,没有联发科的手机芯片,就不可能有山寨手机的兴起。

回到上网行为管理产品的话题,这里我们要说的倒不是现在的大部分产品一定是“山寨”的产品。但是这方面厂商的兴起,却有与山寨手机兴起相似的地方。那就是属于上网行为管理软件核心技术的产品底层也不需要这些厂商自己去开发――由于开源的WinPcap的存在。有了它,开发上网行为管理的软件也就有了捷径。

WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库。大多数网络应用程序通过被广泛使用的操作系统元件来访问网络,比如sockets。这是一种简单的实现方式,因为操作系统已经妥善处理了底层具体实现细节(比如协议处理,封装数据包等等),并且提供了一个与读写文件类似的,令人熟悉的接口。

然而,有些时候,这种“简单的”方式并不能满足任务的需求,因为有些应用程序需要直接访问网络中的数据包。也就是说,那些应用程序需要访问原始数据包,即没有被操作系统利用网络协议处理过的数据包。

WinPcap产生的目的,就是为Win32应用程序提供这种访问方式。WinPcap提供了以下功能:
捕获原始数据包,无论它是发往某台机器的,还是在其他设备(共享媒介)上进行交换的;
在数据包发送给某应用程序前,根据用户指定的规则过滤数据包;
将原始数据包通过网络发送出去;
收集并统计网络流量信息。

目前,国内90%以上的上网行为管理软件厂商是基于WinPcap的底层开发的。虽然,采用开源的WinPcap底层让开发上网行为管理的产品变得更快速,但实际上这样的产品是有诸多局限性的。

首先就是丢包的问题。WinPcap的抓包过程依赖于两个主要组件:一个数据包过滤器,另一个是循环缓冲区,用来保存数据包并且避免丢失。如果一个数据包到来的时候缓冲区已经满了,那么该数据包将被丢弃,因此就发生了丢包。2006年,湖南大学的一个博士专门对基于WinPcap开发的软件的抓包能力进行了研究。研究发现,基于WinPcap的软件捕获流量监测程序的处理上限为60000 packet/s,在100M以内的环境下丢包的概率还相对较少,但是一旦带宽更大或者网内的终端数较多,则丢包的现象非常明显。对于上网行为管理的产品来说,这个缺陷是致命的。

其次,WinPcap只能独立地通过主机协议发送和接受数据,如同TCP/IP。这就意味着WinPcap不能阻止、过滤或操纵同一机器上的其他应用程序的通讯,它仅仅能简单地“监视”在网络上传输的数据包。所以,它不能提供类似网络流量控制、服务质量调度和个人防火墙之类的支持。

另外,由于WinPcap是开源的产品,对于比较关注安全性的政府及其他企业而言,也是有一定顾虑的。

由于WinPcap的这些弱点,一些技术实力相对较强的公司都是自己研发底层,如网猫软件,从2003年开始就一直研发并改进自己的底层。一般而言,这一类的产品抓包能力更强,甚至一般不轻易丢包,而且在处理海量数据的时候,CPU的占用也相对较低,同时在网络流量管理和分配方面也会有比较好的效果,安全性方面也更胜一筹。

尽管自己研发的底层能有诸多的好处,但毕竟这意味着人力、财力等相当多的投入,同时,产品的成熟也需要较长的时间,因此绝大部分企业在研发上网行为管理的产品的时候都不约而同地选择了WinPcap的底层。而由于采用不同底层对产品功能的影响,客户在选购上网行为管理产品的时候,底层也就成了必须考虑的问题。

  • TAG: