关于sniffer

/ns/wz/soft/data/20010128062154.htm

Sniffer
Sniffer既可以是硬件,也可以是软件,它用来接收在网络上传输的信息。网络可以是运行在各种协议之下的。包括Ethernet、TCP/IP、ZPX等等(也可以是其中几种协议的联合)。放置Sniffer的目的是使网络接口(在这个例子中是以太网适配器)处于广播状态(promiscuous mode),从而可从截获网络上的内容。

注意:广播是指网络上所有的工作站都在倾听所有传输的信息,而不仅仅是它自己的信息的状态。换一句话说,非广播状态是指工作站仅仅倾听那些直接指向它自己的地址的信息的状态。在广播状态中,工作站倾听所有的内容,而不管这些内容是送到哪一个地址去的。

⒈关于以太网(Ethernet)
Ethernet是由Xerox的Palo Aito研究中心(有时也称为PARC)发明的。
下面简介一下信息在网络(这里为以太网)上的传输形式:
一个消息需要发送的时候,这时每一个网络节点或工作站都是一个接口,一个请求被发往所有的接口,来寻找真正的接收者。这个请求是以普通的广播式的形式发送的。网络上的机器都“听”到了。那些不准备接收这个消息的机器虽然听到了,但是忽略了。这个请求的包在没有工作站回答时,就会自动“死亡”。那个要接收消息的工作站。把自己的硬件地址发送出去。这时,信息从发送的工作站被送到电缆上(用包的形式)。向接收工作站发送,你可以想象在这种情况(自接收者明确之后开始)其他的工作站都要忽略在发送者和接收者之间传递的信息。但是,它们并不是必须忽略这些数据,如果它们不忽略的话,它们是可以听到的。换言之,对于这个网段上所有的接口来说,任何在网上传输的信息都是可以“听”到的。
Sniffer就是这样的硬件或软件,能够“听”到(而不是忽略)在网上传输的所有的信息。在这种意义上,每一个机器,每一个路由器都是一个Sniffer(或者至少可以说它们可以成为一个Sniffer)。这些信息就被储存在介质上,以备日后检查时用。
注意:要使你的机器成为一个Sniffer,你或者需要一个特殊的软件(Ethernet卡的广播驱动程序)或者需要一种网络软件能使你的网络处于Promiscuous模式。
Sniffer可以是(而且通常是)软件和硬件的联合体,软件可以是普通的网络分析器带有比较强的debug功能,或者就是一个真正的Sniffer。
Sniffer必须是位于准备进行Sniffer工作的网络上的,它可以放在网络段中的任何地方。
注意:有一种称为电缆Sniffer的装置,它用来诊断网线的问题。例如Cable Sniffer是用来对Apple Talk网进行Sniff操作的。 http://www.macally.com/

Sniffer成为一种很大的危险,因为:
■它们可以截获口令
■它们可以截获秘密的或专有的信息
■它们可以被用来攻击相邻的网络

⒉从什么地方最容易找到Sniffer?
你几乎可以要任何地方找到Sniffer。但是,一些有战略意义的位置可能令入侵者比较满意。其中一个地方就是任何与接收口令的机器或与其他网络相邻的地方。尤其是目标为网关或者数据往来必经之地时。如果你的网络与Internet相联接的话,入侵者就可能想要截获你的网络与其他网络之间的身份验证过程。

⒊Sniffer代表着什么级别的危险?
Sniffer可以截获的不仅仅是用户的ID和口令。它可以截获敏感的经济数据(如信用卡号)、秘密的信息(E-mail)和专有信息。基于入侵者可利用的资源,一个Sniffer可能截获网络上所有的信息。

⒋Sniffer来自何方,又为什么能够存在?
Sniffer是被设计来诊断网络的联接情况的。

⒌Sniffer运行在什么平台?
存在于任何一种网络平台上。

⒍真有从Sniffer开始的攻击吗?
详情参阅: http://www.chips.navy.mil/chips/archives/94_jul/file14.html http://yahi.csustan.edu/studnote.html http://www.securitymanagement.com/library/000215.html

⒎从Sniffer上一般得到什么信息?
所的的信息,只要你有足够的存储空间。为了解决这个问题,入侵者一般只截获每个包的前200-300字节。

⒏从什么地方可以得到Sniffer?
⑴Gobbler (Triza van Rijn)
Gobbler可以在任何一台运行DOS、Windows、win 95的PC上运行。也可能可以在NT下执行,它可以在一个单独的工作站上运行,仅分析本地的包,也可以在网络上运行(这是特别有用的功能)。 http://www.cse.rmit.edu.an/~rdssc/courses/ds738/watt/other/gobbler.zip http://cosmox.ipc.chiba-u.ac.jp/~ftp.ipc.chiba.u.ac.jp/.0 /network/noctools/sniffer/bobbler.zip
ftp://ftp.mzt.hr/pub/tools/pc/sniffers/gobbler/gobbler.zip
ftp://ftp.tordate.se/www/hokeum/gobbler.zip

⑵ETHLOAD (Vyncke、Blondiau、Ghys、Timmermans、Hotterbeex、khronis以及keunen)
用于Ethernet和令牌环网(token ring)免费包Sniffer,ETHLOAD在下列接口上运行:
■NOVELL ODI
■3 Com/Microsoft协议管理器
■PC/TCP/Clarkson/Crynwr
它分析下列的协议:
■TCP/IP
■DEC net
■OSI
■XNS
■NetWare
■NetBEUI http://oak.oakland.edu/simtel/msdos/lan/ethld104.zip http://www.med.ucalgary.ca<img src="http://www.20cn.net/ubb/smilies/pukey.gif">0/1/ftp/dos/regular
ftp://ftp.vuw.ac.nz/simtel/msdos/lan/ethld104.zip http://www.apricot.co.uk/ftp/bbs/atsbbs/allfiles.htm

⑶Netman (Schulze、Benko、and Farrell)
只能运行于UNIX平台。
Netman项目、论文以及所有这些程序的二进制代码,都位于 http://www.cs.edu.au/~netman/

⑷ESniff.c (the Poses)
主要是设计来自SunOs平台上截获包传输。它被设计成仅截获每个包的开头部分。
ftp://infonexus.com http://pokey.nswc.navy.mil/docs/progs/ensnif.txt http://www.catch22.com/twilight.net/phuncnet/hacking/proggies/sniffers/

⑸Sunsniff
为SunOs平台设计的。 http://www.catch22.com/twilight.net/phuncnet/hacking/proggies/sniffers/ http://mygale.mygale.org/08/datskewl/elite/ http://hacked-inhabitants.com/warez/sunsniff.c

⑹Linux-Sniffer.c http://www.catch22.com/twilight.net/phuncnet/hacking/proggies/sniffers/ http://mygale.mygale.org/08/datskewl/elite/ http://www.hacked.inhabitants.com/warez/

⑺Nitwit.c http://www.catch22.com/twilight.net/phuncnet/hacking/proggies/sniffers/nitwit.c

⒐在网络上如何发现Sniffer?
对这个问题的一个简单回答是:不能。这是Sniffer对安全性造成极大威胁的一个原因。

⒑如何挫败一个Sniffer?
对传输的信息加密。
使用安全的拓朴结构。