请详细论述网络分析器
网络分析器是当分组在一个或者多个网段上传输时，用于收集分组的工具。这些工具用于查找错误和监视网络，也用于开发和调试协议。#### 网络分析器的功能

1．故障排除

分析器可以用来排除许多种类的网络问题，包括NIC故障、启动问题、广播风暴和错误的应用、下面足一个网络分析器用于排除故障的例子：
网络的用户正在报告极慢的响应，尽管所有的用户都能访问网络。明智的管理员将要做的第一件事就是询问自从网络运行很好以来发生了什么变化。如果没有满意的答复，管理员会在用户爪在报告慢响应时间的本地网络段放置一个网络分析器。
各种各样的统计会立即取到，比如坏帧的数目、广播信息的数目或者甚至在两台计算机之间的—…次特殊交谈。在我们的例子当中，查明在一台计算机中由于NIC故障而导致出现了大量的萎缩帧b功能紊乱的NIC反复重传一个小帧——塞满了本地网络以致于其他的通信不能正常流通。

2．分析器的其他使用

网络分析器除了故障排除之外还有其他应用。例如，大部分分析器能记录网络通信量并在以后播放回网络，这被称做通信量回放或通信量再生。在你想测试其他系统对一个特定的请求的反应且你想控制请求时可能相当有用。另外，你可以产生通信量来重点测试你的系统及在它们崩溃之前决定它们的最大负载。下面是这种应用的一个例子：
Cisc02500系列路由器在一个大型网络中会间歇性地崩溃。从路由器来的唯一错误表明路由器上的记账进程发生了故障。然而，当这些路由器放在实验室里时，它们不会崩溃。因为实验室单的通信量相比较产品网络而言是较小的，通信负载本身被怀疑和崩溃有关系。分析器被用来通过路由器散布通信量。事实表明，路由器开始崩溃。在Cisco的IOS中有一个在特定情况下当记账服务打开时导致崩溃的错误(错误已经被修复)。正像前面提到的，分析器能够用来规范由单个应用产生的网络通信，因为分析器能够根据主机或目标地址过滤通信量。#### 网络分析器的工作原理

大多数网络分析器都实现成专用平台或者是现有主机(如PC或者UNⅨ工作站)的附加软件。通过使一个或者是多个LAN接口处于杂凑(promiscuous)模式，它们可以接收所连网段上传输的所有分组。用于点到点介质(如同步串行线)的网络分析器都通过直通(pass-through)或者是Y型电缆实现，这样，监视者可以透明地接收传输的所有分组。
任何实现RFCl757的RMON(RemoteNetworkMonitoring，远程网络监视)[2561MIB的变量的主机或路由器都可以用于获取分组并为以后分析存储分组。网络管理站或是其他基于MIB的工具都可以用于实现典型网络分析器的显示和过滤功能。#### 网络分析器的优点

对于调试复杂协议间的互相作用，网络分析器有很高的价值。我们在开发OSPF协议期间举行了许多场聚会；各种实现的所有作者聚在一起进行了几天测试。当两个实现不能互操作时，我们总是使用网络分析器来捕获正在发送的分组，此技术发现了大量实现错误和一些协议错误。在聚会结束后，我经常带着一大堆分组跟踪记录回家，并用这些记录分析OSPF协议的性能。
网络分析器在任何多厂商测试环境下广泛使用。例如，INTEROPShowNet的构造很典型，因此网络分析器可以加在任何给定网段上。网络操作中心可以快速解决诸如“24厅没有接收到路由选择通告”的典型抱怨。
用网络分析器查看协议交换信息是了解协议如何工作的好办法。这是我们在本书中引入大量网络分析器跟踪记录的原因。#### 网络分析器的缺点

网络分析器需要获得被监视网段的物理访问权。要么是在网段上加一个专用的硬件，要么是在网段已有主机上加一个专用软件。如果路由器或者主机实现了RMONMIB中的变量，那么就可以用它收集分组。通常这是一个先有鸡还是先有蛋的问题。直到问题出现才监视某个网段，可能会错过问题的根源。在互操作测试期间，这种现象在我身上发生了多次。
当网段完全利用时，大多数纯软件分析器不能收集所有的分组。专用平台通常可以全速收集分组，但是价格昂贵。
网络分析器通常是被动的。你可以看到网段上正在发生的一切，但是你不能测试你自己选择的状态下设备的反应。
网络分析器善于把分组分割成它们的组成字段和做简单的计算，如校验和验证，但这是分析器智能的顶点。分组跟踪信息的问题诊断通常由对正在调试的协议有丰富知识的人宋完成。
使用网络分析器引发了隐私和安全问题。由于它们可以获取给定网段上的传输的所有消息，分析器被用作截获敏感数据，如用户口令。这就是UNIX系统上网络分析器需要根权限的原因。#### 网络分析器与网络探测器的比较

为了排除故障或网络计划的目标就要捕获网络通信量，你只需要一台计算机和一个在混杂模式下操作的NIC(许多网络适配卡就行)，以及一些特殊的软件。这些数据捕获工具分为两个主要的组：网络分析器和网络探测器。尽管两者服务于各自特殊的目的，对你的网络分析任务工作而言，这些设备的功能还是有一些重叠。
网络探测器是一种专门的设备，典型地，它位于路由器、集线器和其他类似的网络设备附近。探测器每天24dx时接入到网络段内部并观察通信量。在探测器中，通信量模式被总结为各种各样的统计。一个网络管理站查询许多探测器并收到统计的一个总结。
探测器可以是PC机，其上安装了探测器软件，或者它们也可以是比PC机小的没有监视器或键盘的分离的硬件设备。无论哪一种方式，它们都静静地附属于网络并收集预定义的数据。
网络分析器像探测器一样能够提供详细的网络信息，但它们也能提供单个数据包的分析。因为网络分析器捕获所有的通信量并且比探测器少做合并，它们能在短期内收集大量的数据。这就是为什么分析器常用于LAN的故障排除或在受控制环境下测试单个应用。
分析器通常是带有特殊软件比如网络监视器、分布式检漏(Sniffer)系统或NetX-Ray的PC机。这些机器没有固定的地点，除非它是在一个测试实验室里或一个中断网络段上。