鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 电脑学堂 > 网吧技术 > >

检测和防御网络嗅探攻击方法全接触

来源:互联网 作者:佚名 时间:2015-02-06 10:56
如何检测和防御网络嗅探行为,对于网络、安全和系统专家来说,是一项至关重要的工作。下面分别给一些在以太网和无线局域网中检测和防御网络嗅探的方法。 一、检测网络嗅探的方法 检测单独一台主机中是否正在被嗅探,相对来说是比较简单的。可以通过查看系统

  如何检测和防御网络嗅探行为,对于网络、安全和系统专家来说,是一项至关重要的工作。下面分别给一些在以太网和无线局域网中检测和防御网络嗅探的方法。

  一、检测网络嗅探的方法

  检测单独一台主机中是否正在被嗅探,相对来说是比较简单的。可以通过查看系统进程,或者通过检查网络接口卡的工作模式是否为混杂模式来决定是否已经被嗅探。而对于整个网络来说,检测就要复杂得多。下面,给出了在以太网和无线局域网中检测单台主机或网络中是否已经存在嗅探器的一些方法。

  (1)、检查网络接口卡是否为混杂模式(PROMISC) 。要想嗅探整个网络中的网络报文,就得将网卡的工作方式设混杂模式。检查网卡是否工作在这种模式下,在Linux系统中是很容易做到的。以根用户权限进入字符终端,在提示符下输入“ifconfig –a”就可以将系统中所有接口卡的详细信息都显示出来。你可以检查每一个接口所显示的信息,当发现某一个接口信息中出现了“PROMISC”标志,就说明这个接口卡已经工作在混杂模式下了,也就说明,如果不是你自己设置的,那么就可能是网络嗅探软件设置的。在Linux系统下,你还可以通过输入“ip link”命令来得到接口的详细信息。

  如果要在Windows系统下检查网络接口卡的工作模式,就不会这么简单。因为没有一个具体的标准命令来输出这些信息。我们不得不通过使用第三方软件来检测网络接口卡的工作模式。PromiScan软件,就是一个可以在Windows NT/2000/XP系统下检测出网络接口卡是否工作在混杂模式下的工具。使用PromiScan之前,你需要从www.securityfriday.com网站下载PromiScan的压缩包,还需要从www.winpcap.org网站下载Winpcap的安装包。安装好Winpcap,然后解压PromiScan压缩包后,直接运行解压目录中的PromiScan就可以进行检测工作。

  另外,在Linux、BSD系统下,也有一些可以检测网络接口卡工作模式的软件。例如Sentinel,它是一个免费的检测软件,也需要Libpcap库才能工作,你可以从www.packetfactory.net下载它。

  但是,有些嗅探器会将表示网络接口卡混杂模式的字符“PROMISC”隐藏,来躲避上述这种检测方式。这样,你就不得不使用其它方法来检测网络中是否有网络嗅探器在运行了。

  (2)、监视DNS Reverse Lookups。一些嗅探器在收到一个网络请求时,就会执行DNS反向查询,试着将IP地址解释为主机名。因此,如果你在网络中执行一个Ping扫描或者Pinging一个不存在的IP地址,就会触发这种活动。如果得到了回应,就说明网络中安装有网络嗅探器,如果没有收到任何回应,表明没有嗅探器在运行。

  (3)、发送一个带有网络中不存在的MAC地址的广播包到网络中的所有主机。正常情况下,网络中的主机接口卡在收到带有不存在的MAC地址的数据包时,会将它丢弃,而当某台主机中的网络接口卡处于混杂模式时,它就会回应一个带有RST标志的包。这样,就可以认为网络中已经有嗅探器在运行。但是,在交换网络环境当中,由于交换机在转发广播包时不需要MAC地址,所以也有可能做出与上相同响应的,你得根据实际情况来决定。

  在Linux系统下,这种方法是很容易实现的。你首先以根用户权限进入字符终端,在此终端下输入如下命令就可以完成:

  # ifconfig eth0 down \\关闭eth0接口

  # ifconfig eth0 hw ether 00:03:C2:00:00:AA \\用不存在的MAC地址指定到eth0接口

  # ifconfig eht0 up \\重新启用eth0

  # ping –c 1 –b 192.168.0.255 \\发布含不存在MAC地址的广播包

  (4)、小心监控网络中各种交换机和路由器的运行情况,来及时发现这些网络设备出现的某种不正常的现象。比如当你发现有些本来关闭了的端口又被启用,而某些端口连接的主机在运行却没有流量时,你就得重新登录交换机或路由器中,仔细查看它现在的系统设置和端口设置情况,并和你的记录对比,以此来发现交换机或路由器是否已经被入侵。

  (5)、使用Honeypot(蜜罐)技术来设计一个陷阱,以此来诱骗攻击者对它进行嗅探,并通过它来找到嗅探的源头。

  (6)、小心监视你网络中的主机,经常查看主机中的硬盘空间是否增长过快,CPU资源是否消耗过多,系统响应速度是否变慢,以及系统是否经常莫名其妙地断网等等。

  (7)、在Linux发行版本中运行ARPWatch来监控网络中是否有新的MAC地址加入。

  (8)、无线局域网是以广播的方式来转发数据包的。从理论上来说,处于同一个无线局域网中的所有无线客户都可以“听”到所有在网络中传输的数据包。就如同共享式以太网一样,只要将无线嗅探器中所使用的无线适配器置为监控模式,它就再也不会与无线局域网中的访问点或其它无线客户进行会话,只会被动接收来自网络中的所有数据,就更不会对收到的数据包进行修改了。无线嗅探器这种被动嗅探的方式,使得要想检测出它们,变得非常困难。

  但也并不是说完全不能被检测到。我们可以使用以其人之道还施彼身的方式,使用与攻击都一样的网络嗅探软件,就可以来发现非法的嗅探点。使用NetStumbler和Kismet都可以达到检测非法嗅探点的目的。但是,使用Kismet的效果要优于NetStumbler。这是因为,Kismet不仅能够找出被隐藏了SSID的无线网络嗅探器,而且,它还可以找出无线局域网中是否有安装NetStumbler软件的主机。更绝的是,你可以通过Kismet来找到你所在的无线局域网中所有的访问点和无线客户,并且利用GPS定位功能,Kismet就可以在地图上用圆点标出这些访问点和无线客户的位置。将这位置地图状态保存,以便给下次扫描结果提供对比标准。这样一来,你就可以使用Kismet在某个时间重新对整个无线局域网进行扫描,然后将扫描的结果和上次保存的结果进行比对,看看是否有不同之处。通过这种方法,就可以很容易地找到非法无线嗅探器。

  有些攻击者会在安装网络嗅探器的主机之中,再安装上一些rootkits类的工具,用它来掩盖他(她)在这台主机当中的行动踪迹,例如清除系统日志,来躲避你的检测。有些攻击者还会在这台主机当中安装一些后门程序或木马程序,以方便控制。这就要求,在你经常进行检测的同时,你还应用使用一些方法来实时监控你的网络,以察觉这些隐秘行为。

网友评论
<