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 TNV主要包括两部分:便携式套件(Protable Analysis Suite)和分布式套件(Distributed Analysis Suite)。便携式套件是一种便携式的网络故障与性能分析的解决方案,是目前唯一能够为全部七层OSI网络模型提供全面性能管理的工具包,它使得网络专职人员能够主动维护多拓扑结构和多协议的网络,并显著的降低其网络操作成本。同时,它还具备出色的监测和分辨能力,智能的专家技术扫描从网络上捕获的信息以检测网络异常现象,并应用用户定义的试探式程序自动对每种异常现象进行归类,并给出一份警告、解释问题的性质和提出建议的解决方案;如此深层次的监测使得Sniffer Pro能准确地指出问题的来源并且更快地在第一时间作出判断并解决;同时Sniffer的网络分析器还可以监视所有类型的网络硬件和拓扑结构,这包括交换网络和运行ATM OC-12和千兆以太网的高速骨干网在内;它能够支持400多种协议解释和强大的专家分析功能,可以对网络传输进行分析,找出故障和响应缓慢的原因,从而能够确保整个LAN和WAN拓扑网络的最高性能。
Sniffer Pro兼网络专家积累的经验、业界伙伴和智能捕获技术于一身,帮助用户更快地分析判断和解决网络性能问题。Expert Analysis(专家分析系统)具有先天的灵活性,并且它可以自定义生成专家数据,这些数据可以很容易地输出为HTML格式以提供用户需要的观察分析结构与报告。专家分析系统支持业界最广泛的应用软件和网络通讯技术。便携式套件主要包括Sniffer Basic、Sniffer Pro LAN、Sniffer Pro WAN、Sniffer Pro High Speed等组件。
分布式套件能够结合中央控制平台与分布全网的网络分析器,网络管理员可以全天候地监控整个网络运行情况,这是唯一符合RMON 1/ RMON 2(远程监控技术)的基于专家系统的网络和应用程序管理系统,能够适应各种拓扑结构、速度和不同介质类型的网络,这将有助于排除故障和生成报告。同时该软件包中还集成了SiteMinder Security Manager,这是一个基于NT的服务器,支持多个身份验证和授权选项,允许您检查用户访问,并选择队网络设备进行访问的相应级别,如此可以保护通过Distributed Sniffer System显示的敏感信息。