网络分析关键一步:隔离故障
以前我们应用出现问题的时候我们总是分头查找问题,结果往往是没有结果,因为这种查找方式范围太大了,我们做troubleshooting第一步应该是:隔离故障。
如果我们有了Sniffer,首先用Sniffer看一下,最有可能是哪一部分问题,再安排检查,这样不但节省人力,速度会更快,效率也更高。
如果有人问我们Sniffer是什么?大家都会说是协议分析仪,你看sniffer网站(www.networkgeneral.com)上说的是应用和网络分析系统。究竟Sniffer是什么样的一个东西,我们要了解他的发展过程。其实很多类似的产品比如ethereal,netscout,wildpacket等都有类似的发展过程。
第一阶段是抓包和解码,也就是把网络上的数据包抓下来,然后进行解码,那时候谁能解开的协议多,谁就是老大,Sniffer当时能解开的协议最多,也就理所当然地成了老大,现在Sniffer能解开550种协议,还是业界最多的。
第二阶段是专家系统,也就是通过抓下来的数据包,根据他的特征和前后时间戳的关系,判断网络的数据流有没有问题,是哪一层的问题,有多严重,专家系统都会给出建议和解决方案,现在Sniffer的专家系统还是业界最强的
第三阶段:是把网络分析工具发展成网络管理工具,为什么要这样,如果Sniffer知识用作网络分析,那Sniffer的软件就够用了,现在软件的portable基本上都是盗版的,sniffer没钱赚了,所以它必须往网络管理方向转,要作为网络管理工具,就必须能部署在网络中心,能长期监控,能主动管理网络,能排除潜在问题,要做到这些,就要求有更高的性能,所以Sniffer就有了相应的硬件产品,比如说分布式硬件平台,InfiniStream等,我知道在座各位都买了Sniffer的硬件,这时候如果用软件的Sniffer性能就不行了。
Sniffer究竟有什么用?
我们看一下,Sniffer究竟有什么用?
第一,Sniffer可以帮助我们评估业务运行状态,如果你能告诉老板说,我们的业务运行正常,性能良好,比起你跟老板报告说网络没有问题,我想老板会更愿意听前面的报告,但我们要做这样的报告,光说是不行的,必须有根据,我们能提供什么样的根据呢。比如各个应用的响应时间,一个操作需要的时间,应用带宽的消耗,应用的行为特征,应用性能的瓶颈等等,到第二门课,我会告诉大家怎么做到有根有据。
第二,Sniffer能够帮助我们评估网络的性能,比如,各连路的使用率,网络的性能的趋势,网络中哪一些应用消耗最多带宽,网络上哪一些用户消耗最多带宽,各分支机构流量状况,影响我们网络性能的主要因素,我们可否做一些相应的控制,等等。
第三,Sniffer帮助我们快速定位故障,这个大家比较有经验,我们记住Sniffer的三大功能:monitor,expert,decode这三大功能都可以帮助我们快速定位故障,我后面通过案例演示给大家看,大家再做做实验,很快就上手了(同学问:范老师,是否要学Sniffer必须对协议很熟,)不一定,我们可以通过Sniffer来学习各种协议,比如ospf,以前学网络的时候,讲OSPF的LSA好像很复杂,你用Sniffer看看,其实他的协议结构还是不复杂的,一般情况下,我会要求学Sniffer的学员有CCNP的基础,或者有几年的网络管理经验,我自己也是这样,刚开始只是用Sniffer抓抓包,抓下来也不知道怎么分析,当我学完CCNP后,学了CIT,以为自己不错了,会排除很多网络故障,但实际上很多问题我还是解决不了,比如网络慢,他又不断,断了我很快能解决,网络慢,或者丢包,一般的排错知识还是很难的,那时候开始学Sniffer,才发现很好用。
第四,Sniffer可以帮助我们排除潜在的威胁,我们网络中有各种各样的应用,有一些是关键应用,有一些是OA,有一些是非业务应用,还有一些就是威胁,他不但对我们的业务没有帮助,还可能带来危害,比如病毒、木马、扫描等,Sniffer可以快速地发现他们,并且发现攻击的来源,这就为我们做控制提供根据,比如我们要做QOS,不是说随便根据应用去分配带宽就解决了,我们要知道哪一些应用要多少带宽,带宽如何分配,要有根有据。我们再回过头看一下Sniffer什么时候开始流行的,再2003年冲击波发作的时候,很多Sniffer的用户通过Sniffer快速定位受感染的机器,后来很多人都知道Sniffer可以用来发现病毒,Sniffer的知名度暴涨,盗版用户也暴涨(同学们大笑),后来震荡波发作的时候,很多人用Sniffer来协助解决问题。我想强调的是Sniffer不是防病毒工具,这也只是他的一个用途,而且只对蠕虫类型对网络影响大的病毒有效,对于文件型的病毒,他很难发现。