WildPackets公司与Sniffer的故事
从DOS版本的Sniffer/EtherPeek开始,这两个产品就一直是这个领域的一对欢喜冤家。
1997年Sniffer当时所拥有的公司NGC(Network General Coporation)收购了Cinco Systems,后者拥有当时最为闻名遐迩的Windows下的分析软件NetXray。
从此Sniffer披上了Windows的外套,在Windows下也实现了Sniffer引以为傲的专家系统。1997年底,NGC和McAfee合并组成Network Associates,从此踏上了大规模商业化的道路。
AG Group早期发展EtherPeek的步伐有些缓慢,在推出了Macintosh版本的分析软件并且垄断了相应市场以后,其发展轨迹也变得更为技术化。
到2000年以后,WildPackets脱胎于AG Group的传统建构,并且收购了Net3、Optimal Engineering和PMG等一系列产品、培训、服务企业,顿时实力大增,WildPackets也进一步把专家系统技术引入到EtherPeek产 品线中,出现了EtherPeek NX等新的产品。从DOS/Mac跨越到windows 2000平台,EtherPeek几乎被从头进行代码。
到了2003年以后,WildPackets逐渐羽翼丰满,终于推出了分布式分析产品OmniPeek。这个产品足足晚了Sniffer Distributed 8年。
Wireless LAN进入市场以后,网络分析产品逐渐发现了一个新的战场,在Hub时代,网络分析产品不需要配置就可以使用,而且当时网络又确实漏洞百出。到了 Switch时代,网络分析产品逐渐变得更难部署,即使部署,成本也很高。到了无线网络环境,人们发现,又一个新的hub环境驾临了。
可惜的是从1998年完成合并之后,到2004年NAI分裂之前,NAI始终不能对Sniffer投注于高昂的激情。相对于防病毒市场而言,网络分析工 具无论是从市场总量还是增长趋势都不能与之相提并论。而且更大的问题是网络分析通常会被认为比防病毒要高几个技术 level,Sniffer和McAfee在核心价值上遇到了巨大的抵触。
Sniffer停滞了三四年之后,终于获得了重生的机会。但是在这个不短的时机中,WildPackets已经快速逼近,甚至已经超越。
Network Magazine是网络产业的风向标之一,在网络分析领域,Sniffer曾一直荣获1997, 1998, 1999, 2000, 2001的年度最佳网络分析类产品,然而之后,2002, 2003年的年度最佳产品桂冠就转移到了WildPackets手中。工欲善其事,必先利其器。我们在从事网络分析、优化之前,很重要的一环就是要准备好 最佳的工具,之后我们试图用比较客观的一下Sniffer和OmniPeek的各类功能以及实现效果。
软件设计
从Sniffer Pro和OmniPeek的设计而言,两者代表了不同时代的设计理念。
Sniffer Pro从netxray里获得了图形化界面以后,就开始试图建立新的网络分析软件标准。用过Netxray的同志们应该都知道,Matrix、 Dashboard其实都是Netxray里就已经存在的设计。而NGC Sniffer 的最大长处就是Expert System和对各类链路的支持。 Expert System顾名思义就是专家系统,自动地根据网络捕获的数据进行分析并提供分析结果。
Netxray的界面设计应用了后Win31时代和早Win95时期的界面元素,一直保持到现在,颇有点清涩古风。在底层设计上,现在的Sniffer Pro其实大量地基于COM/OLE编程,到了Sniffer Distributed,分布式产品,Sniffer 又把结构延续到DCOM。当时并不知道后来会有病毒直接利用DCOM,因此整个产品设计非常理想化。 DCOM调用的规范相对较为复杂,这也造成了后期的Sniffer Distributed陷入了很多问题,诸如界面更新速度、数据显示延迟等等。这也造成了当时的Sniffer人决定把整个产品推向到Web based,事实证明把这样复杂的分析软件转换到Web环境是个彻头彻尾的错误,但是路一旦踏上,就很难有回头的余地。
Sniffer Pro的界面在最近6年没有发生大的变化,除了因为Wireless LAN的产品引入了一些新的元件之外,整个UI一直保持当初NetXray时代的样子。这既是缺点,也是优点,一旦熟悉也就可以不用更改任何习惯。
如果来看看OmniPeek,就会发现故事在这里是完全不一样。OmniPeek的设计元素里大量应用了 Flat Button、TreeView、IE View,使得整个产品很适应Windows XP/2000的环境。这一点也是后起之秀的优势,可以充分运用最新的技术。我特地关注了一下OmniPeek在分布应用时候的通讯协议,很值得一提的 是,OmniPeek避免了任何DCOM的应用,采用了自行开发的一个加密通讯协议。
OmniPeek的开发环境迅速从VC++迁移到了VC.net,在OmniPeek的很多设计里都已经有了一些基本的.NET特性。而相对而言,Sniffer则拘泥于VC 6.0不能自拔,OmniPeek产品带来了很多新的气象