sniffer(嗅探器)是利用计算机的网络接口,截获目的地是其他计算机的数据报文的一种技术。该技术被广泛应用于网络维护和管理方面,它工作的时候就像一部被动声纳,默默地接收着来自网络的各种信息,通过对这些数据的分析,网络管理员可以深入了解网络当前的运行状况,以便找出所关心的网络中潜在的问题。
sniffer技术简介
数据在网络上是以很小的称为“帧”的单位传输的,帧由多个部分组成,不同的部分对应不同的信息以实现相应的功能,例如,以太网的前12个字节存放的是源地址和目的地址,这些数据告诉网络该帧的来源和去处。其余的部分存放实际用户数据、TCP/IP的报头或IPX报头等等。帧是根据通信所使用的协议,由网络驱动程序按照一定规则生成,然后通过网卡发送到网络中,通过网线传送到它们的目的主机,在目的主机的一端按照同样的通信协议执行相反的过程。接收端机器的网卡捕获到这些帧,并告诉操作系统有新的帧到达,然后对其进行存储。在正常情况下,网卡读入一帧并进行检查,如果帧中携带的目的地址(这里的目的地址是指物理地址而非IP地址,该地址是网络设备的唯一性标志)和自己的物理地址一致或者是广播地址(就是被设定为一次性发送到网络所有主机的特殊地址,当目标地址为该地址时,所有的网卡都会接收该帧),网卡通过产生一个硬件中断引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理,否则就将这个帧丢弃。
我们可以想象到这样一种特别的情况:如果网络中某个网卡的物理地址不确定(这可以通过本地网卡设置成“混杂”状态来实现),网卡会如何处理收到的帧呢?实际的情况是该网卡将接收所有在网络中传输的帧,无论该帧是广播的还是发向某一指定地址的,这就形成了监听。如果某一台主机被设置成这种监听模式,它就成了一个sniffer。
鉴于sniffer的工作原理,我们知道:如果一个帧没有发送到你的网卡上,那么你将无法监听到该帧。所以sniffer所能监听到的信息仅限于在同一物理网络内传送的数据,在使用了交换(路由)设备的网络中,由于其数据是根据目的地址进行分发的,单个网卡将无法监听到所有正在传输的信息。
不同传输介质网络的可监听性是不同的。一般来说,以太网被监听的可能性比较高,因为以太网是一个广播型的网络;FDDI Token被监听的可能性也比较高,尽管它并不是一个广播型网络,但带有令牌的那些帧在传输过程中,平均要经过网络上一半的计算机;电话线监听的可能性中等,但在实际中,高速的调制解调器比低速的调制解调器搭线困难的多,因为高速调制解调器引入了更高的频率;微波和无线网被监听的可能性同样比较高,因为无线电本身是一个广播型的传输媒介,弥散在空中的无线电信号可以被很轻易地被截获。所以,sniffer可以应用于大部分的网络类型中。
sniffer本来是网络工程师常用的工具,也是网络管理员的好帮手,但由于网络中的数据传送往往是以明文方式进行的,所以sniffer也常常被某些人用于“特殊”的用途。
sniffer的应用
sniffer工具在功能和设计上有很多不同。有些只能分析一种协议,而另一些可能能够分析几百种协议。一般情况下,大多数的嗅探器至少能够分析如下的协议:标准的以太网、TCP/IP、IPX、DECNet等。
实际应用中的sniffer还分软、硬两种。软件sniffer的优点在于比较便宜,易于学习使用,同时也易于交流,缺点是往往无法抓取网络上所有的传输(比如碎片),某些情况下也就可能无法真正了解网络的故障和运行情况;硬件的sniffer通常称为协议分析仪,一般都比较昂贵,它的优点恰恰是软件sniffer所欠缺的,但是昂贵是它致命的缺点。因此目前流行的sniffer工具都是软件的。网上有不少免费的sniffer工具可下载使用(有些甚至提供源码),但是这些免费的软件往往功能单一,稳定性和技术支持方面也无法和商业软件相比;目前在商业网管软件中,NAI的sniffer TNV套件是非常典型的协议分析仪。
sniffer TNV主要包括两部分:便携式套件和分布式套件。便携式套件主要包括sniffer Basic、sniffer Pro LAN、sniffer Pro WAN、sniffer Pro High Speed等组件,它是一种便携式的网络故障与性能分析的解决方案,是能够为全部七层OSI网络模型提供全面性能管理的工具包,它使得网络专职人员能够主动维护多拓扑结构和多协议的网络,并显著降低其网络操作成本。同时,它还具备出色的监测和分辨能力,智能的专家技术扫描从网络上捕获的信息以检测网络异常现象,并应用用户定义的试探式程序自动对每种异常现象进行归类,并给出一份警告、解释问题和提出建议的解决方案;同时sniffer 的网络分析器还可以监视所有类型的网络硬件和拓扑结构,包括交换网络和运行ATM OC-12和千兆以太网的高速骨干网在内;它能够支持400多种协议解释和强大的专家分析功能,可以对网络传输进行分析,找出故障和响应缓慢的原因,从而能够确保整个LAN和WAN拓扑网络的最高性能。
分布式套件主要包括Distributed sniffer System/RMON Basic和Distributed sniffer System/RMON Pro组件。通过结合中央控制台与分布全网的网络分析器,网络管理员可以全天候地监控整个网络运行情况,这是符合RMON 1/ RMON 2 的基于专家系统的网络和应用程序管理系统,能够适应各种拓扑结构、速度和不同介质类型的网络,将有助于排除故障和生成报告。同时该软件包中还集成了SiteMinder Security Manager,这是一个基于NT的服务器,支持多个身份验证和授权选项,允许您检查用户访问,并选择对网络设备进行访问的相应级别,如此可以保护通过Distributed sniffer System显示的敏感信息。