本篇文章将讨论通过进入混杂模式下对网络数据包进行监听的工具软件及采取何种对策以降低其破坏性。为了保证网络的安全性和防止不必要的恐慌,系统管理人员应该非常熟悉这些探测工具的能力和其局限性,并在遇到此类问题时应能采取正确的措施。
本机监控不同操作系统的计算机采用的检测工具也不尽相同。大多数UNIX系列操作系统都使用。利用管理人员可以知道网卡是否工作在混杂模式下。但是因为安装未被授权的sniffer时,特洛伊木马程序也有可能被同时安装,因而的输出结果就可能完全不可信。系统管理人员还可以选择其它的主要工具来检测sniffers(嗅探器)是否存在,例如和等等,但是以上问题仍有可能发生。
许多流行的特洛伊木马程序在系统的目录下都有自己的ASCII文件,该文件中包含该木马程序的配置信息。在安全系统中,目录下应该没有ASCII文件,因而系统管理人员应该定时检测目录。如果目录下存在ASCII文件,则表明系统中已经被攻击者安装了sniffer(嗅探器)。
特洛伊木马的ASCII配置文件一般包括sniffers(嗅探器)和与其输出文件相关的进程信息和相应的文件信息,这些信息一般都对系统管理人员隐藏。大多数版本的UNIX都可以使用lsof(该命令显示打开的文件)来检测sniffer(嗅探器)的存在。lsof的最初的设计目地并非为了防止sniffer(嗅探器)入侵,但因为在sniffer(嗅探器)入侵的系统中,sniffer(嗅探器)会打开其输出文件,并不断传送信息给该文件,这样该文件的内容就会越来越大,因而lsof就有了用武之地。如果利用lsof发现有文件的内容不断的增大,我们就有理由怀疑系统被人装了sniffer(嗅探器)。
因为大多数sniffers(嗅探器)都会把截获的TCP/IP"数据写入自己的输出文件中,因而系统管理人员可以把lsof的结果输出到来减少系统被破坏的可能性。对于BSD的UNIX,可以使用cpm来检测sniffer(嗅探器)的存在。
cpm(该命令检测混杂模式的存在)是由CERT/CC开发的工具软件。在1994年,好多网站报告合法用户名、用户密码和关键数据被恶意偷窃,cpm就在那时应运而生。
cpm使用socket(2)和ioctl(2)来判断是否有网卡处在混杂模式,并向系统汇报检测结果。cpm只列出处在混杂模式的网卡。对于使用SunOS 5.5和5.6的用户,可以使用ifstatus检测sniffer(嗅探器)的存在。用户可以从。
对于NT系统,并没有太知名的sniffer(嗅探器)检测工具供使用。就作者所知,NT平台上并没有切实可行的工具去测试网卡的混杂模式。出现这种情况的原因在于作为Microsoft系统平台一部分的工具也可能已经被安装了特洛伊木马程序。使用机器的NT用户可以考虑使用。
Microsoft平台远程可以利用的管理员级安全漏洞很少,这可能是Microsoft平台下sniffer(嗅探器)工具和检测工具相对较少的一个原因。