一个嗅探器是一台设备,一个软件或硬件,它可以获取网络上传输的任何信息。嗅探器通过将网络接口(以太网接口)置为混杂模式去捕获网络上的通信。采用混杂模式可以让网络上的一台工作站监听所有的通信,不仅仅是它们自己的。
Sniffer工具
linsniffer(http://agape.trilidun.org/hack/network-sniffers/linsniffer.c):是一个简单的嗅探器,其目的是捕获用户名和口令。采用linsniffer的书出来偷取口令和纪录普通通信的效果非常好,但它不适合于更详细的分析。
linux_sniffer(http://www.ryanspc.com/sniffers/linux_sniffer.c):提供更详细一
些的输出,而且比较容易使用。
hunt(http://www.ryanspc.com/sniffers/hunt-1.3.tgz):输出可读性强,较少的原始数据。Hunt支持一下功能:(1)允许你指定感兴趣的特定连接,而不是监听并纪录所有的信息;(2)能够检测已经建立的连接;(3)提供欺骗工具;(4)拦截活动回话。
sniffit(http://reptile.rug.ac.be/~coder/sniffit/sniffit.html):允许你更广范围内监视多台主机的不同端口的不同的数据包。是一个非常好的工具。
Sniffers的安全风险
Sniffers表明了高水平的风险:它们能捕获口令字,可以捕获秘密的或私人信息;突破相邻网络的安全限制或者越过存取控制。
防御Sniffer攻击
为了捕获一个Sniffer,你必须确定网络上的任何接口工作在混杂模式。可以采用ifconfig和ifstatus来做到这一点。
ifconfig:是一个配置网络接口参数的配置工具,可以快速的检测本地主机的网络接口是否工作在混杂模式。
ifstatus:检查系统上的所有网络接口,报告任何处于调试或混杂模式的网络接口。
ifconfig和ifstatus是一个在本地主机上检测sniffer的很好的工具,但是在一个大型的网络中,我们需要一种工具可以跨越子网检测sniffer。一种是采用NEPED(http://metalab.unc.edu/pub/Linux ... /src/neped.c).NEPED
可以在一个字网上检测一个Sniffer的活动不过NETPED由一个限制:他仅工作在2.0.36及以前的内核上。
预防Sniffer的安全方法
选择“好”(难于破解和猜测)的口令字,并经常修改;总是采用加密传输等。
决论:Sniffer带来的相当大的安全风险,主要是因为它们难以检测。防御Siffer的最佳方法只采用安全的网络拓扑结构并采用高强度的加密传输。