您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 【工程方案】网络嗅探技术
网络嗅探技术王晓薇(空军工程大学电讯工程学院五系计算中心,陕西西安710077)摘要:嗅探(Sniffer)技术是网络安全攻防技术中很重要的一种。通过它可以获取网络中大量的信息。文中首先分析了嗅探的原理和危害,并介绍了几种常见的嗅探器,昀后提出一些解决嗅探的对策。关键词:嗅探;网络安全;对策中图分类号:TP309文献标识码:ANetworkSnifferTechniqueWangXiao-wei(TheTelecommunicationEngineeringInstitute,AirForceEngineeringUniversity,Xi’an,Shangxi710077)Abstract:Snifferisaveryimportantoneinnetworksecurityattackandanti-attacktechnique.Throughit,lotsofinformationcanbegained.Thispaperfirstanalysesthetheoryandharmofsniffer,thenintroducesseveralcommonsniffers,atlastprovidessomemeasurestosolvesniffer.Keywords:Sniffer;Networksecurity;Measure嗅探(Sniffer)技术是网络安全攻防技术中很重要的一种。对黑客来说,通过嗅探技术能以非常隐蔽的方式攫取网络中的大量敏感信息,与主动扫描相比,嗅探行为更难被察觉,也更容易操作。对安全管理人员来说,借助嗅探技术,可以对网络活动进行实时监控,并进行发现各种网络攻击行为。一.嗅探原理[1]嗅探器(Sniffer)昀初是作为网络管理员检测网络通信的一种工具,它既可以是软件,又可以是一个硬件设备。软件Sniffer应用方便,针对不同的操作系统平台都有多种不同的软件Sniffer,而且很多都是免费的;硬件Sniffer通常被称作协议分析器,其价格一般都很高昂。在局域网中,由于以太网的共享式特性决定了嗅探能够成功。因为以太网是基于广播方式传送数据的,所有的物理信号都会被传送到每一个主机节点,此外网卡可以被设置成混杂接收模式(Promiscuous),这种模式下,无论监听到的数据帧目的地址如何,网卡都能予以接收。而TCP/IP协议栈中的应用协议大多数明文在网络上传输,这些明文数据中,往往包含一些敏感信息(如密码、账号等),因此使用Sniffer可以悄无声息地监听到所有局域网内的数据通信,得到这些敏感信息。同时Sniffer的隐蔽性好,它只是“被动”接收数据,而不向外发送数据,所以在传输数据的过程中,根本无法觉察到有人监听。当然,Sniffer的局限性是只能在局域网的冲突域中进行,或者是在点到点连接的中间节点上进行监听。在交换网络中,虽然避免了利用网卡混杂模式进行的嗅探。但交换机并不会解决所有的问题,在一个完全由交换机连接的局域网内,同样可以进行网络嗅探。主要有以下三种可行的办法:MAC洪水(MACFlooding)、MAC复制(MACDuplicating)、ARP欺骗,其中昀常用的是ARP欺骗。1.MAC洪水交换机要负责建立两个节点间的“虚电路”,就必须维护一个交换机端口与MAC地址的映射表,这个映射表是放在交换机内存中的,但由于内存数量的有限,地址映射表可以存储的映射表项也有限。如果恶意攻击者向交换机发送大量的虚假MAC地址数据,有些交换机在应接不暇的情况下,就会像一台普通的Hub那样只是简单地向所有端口广播数据,嗅探者就可以借机达到窃听的目的。当然,并不是所有交换机都采用这样的处理方式,况且,如果交换机使用静态地址映射表,这种方法就失灵了。2.MAC复制MAC复制实际上就是修改本地的MAC地址,使其与欲嗅探主机的MAC地址相同,这样,交换机将会发现,有两个端口对应相同的MAC地址,于是到该MAC地址的数据包将同时从这两个交换机端口发送出去。这种方法与后面将要提到的ARP欺骗有本质的不同,前者是欺骗交换机,后者是毒害主机的ARP缓存而与交换机没有关系。但是,只要简单设置交换机使用静态地址映射表,这种欺骗方式也就失效了。3.ARP欺骗按照ARP协议的设计,为了减少网络上过多的ARP数据通信,一台主机,即使受到的ARP应答并非自己请求得到的,它也会将其插入到自己的ARP缓存表中,这样,就造成了“ARP欺骗”的可能。如果黑客想探听同一网络中两台主机之间的通信,他会分别给这两台主机发送一个ARP应答包,让两台主机都“误”认为对方的MAC地址是第三方的黑客所在的主机,这样,双方看似“直接”的通信连接,实际上都是通过黑客所在的主机间接进行。黑客一方面得到了想要的通信内容,另一方面,只需要更改数据包中的一些信息,成功地做好转发工作即可。在这种嗅探方式中,黑客所在主机是不需要设置网卡的混杂模式的,因为通信双方的数据包在物理上都是发给黑客所在的中转主机的。二.嗅探造成的危害Sniffer是作用在网络基础结构的底层。通常情况下,用户并不直接和该层打交道,有些甚至不知道有这一层存在。所以,应该说Sniffer的危害是相当之大的,通常,使用Sniffer是在网络中进行欺骗的开始。它可能造成的危害有[2]:1.捕获口令。Sniffer可以记录到明文传送的userid和passwd,即使网络传送过程中使用了加密的数据,Sniffer记录的数据一样有可能使入侵者想办法算出你的算法。一般Sniffer只嗅探每个报文的前200到300个字节,而用户名和口令都包含在这一部分中。2.能够捕获专用的或者机密的信息。比如金融帐号,许多用户很放心在网上使用自己的信用卡或现金帐号,然而Sniffer可以很轻松截获在网上传送的用户姓名、口令、信用卡号码、截止日期、帐号和pin。比如偷窥机密或敏感的信息数据,通过拦截数据包,入侵者可以很方便记录别人之间敏感的信息传送,或者干脆拦截整个的email会话过程。3.可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限。一旦入侵者得到用户名和口令,必然可以通过信任关系危害网络邻居的安全,既而获取更高级别的访问权限。4.窥探低级的协议信息。通过对底层的信息协议记录,比如记录两台主机之间的网络接口地址、远程网络接口IP地址、IP路由信息和TCP连接的字节顺序号码等。这些信息由入侵者掌握后将对网络安全构成极大的危害,例如通常的IP地址欺骗就是要求准确插入TCP连接的字节顺序号。当然,简单的放置一个嗅探器并将其随便放置将不会起到什么作用。如果将嗅探器放置于被攻击机器、网关或网络附近,可以捕获到很多口令。如果将Sniffer运行在路由器,或有路由器功能的主机上,可以对大量的数据进行监控。Sniffer属第二层次的攻击。通常是攻击者已经进入了目标系统,然后使用Sniffer这种攻击手段,以便得到更多的信息,并捕获网络和其他网络进行身份鉴别的过程。三.常见的嗅探器以太网的嗅探工具分为单一用途和多功能两种,当然,在交换网络中也有一些著名的工具,以下介绍四种比较经典的嗅探器:1.Tcpdump/WindumpTcpdump是一个非常经典的网络包监听分析工具,它昀初是由美国加州大学伯克利分校劳伦斯伯克利国家实验室的网络研究小组开发的,现在由“TheTcpdumpGroup”来更新和维护().Tcpdump(基于Libpcap),支持Solaris、HP-UX、Irix、BSD等多种操作系统平台。针对不同的平台,在具体安装时各有不同。在Windows平台中,Tcpdump的版本叫Windump,它基于与Libpcap兼容的Winpcap函数库。如果下载的是windump.exe执行文件,只要系统中已安装了Winpcap的驱动程序,就可以直接运行。2.SniffitSniffit是由lawrenceBerkeleyLaboratory开发的一个非常优秀的嗅探器,它可以运行在Solaris、Iris、FreeBSD和Linux等众多系统平台。不同于Tcpdump的是,它可以提供完全的数据包内容输出,使用者可以选择源地址和目的地址或地址集合,选择监听的端口、协议和网络接口等,由此方便地捕获网络数据包。Sniffit也是基于Libpcap开发的,除了适用于UNIX类型操作系统的版本外,也有可运行于Windows平台(NT和2000)的相同版本,当然,后者需要Winpcap的支持。3.EttercapEttercap是一个很著名的交换网络嗅探器,作者是AlbertoOrnaghi和MarcoValleri。除了包含常规的混杂模式嗅探外,Ettercap还包含ARP欺骗方式的嗅探功能,可以对交换环境中的网络通信进行监听。此外,Ettercap的昀新版还包括许多更强大的功能,例如:数据包生成器、SSL和SSH会话劫持、会话内容注射、被动探测操作系统类型、端口扫描以及各种口令的采集等。Ettercap有基于IP、基于MAC地址、ARP模式和PubilcARP模式四种嗅探。4.SnarpSnarp是一个运行在WindowsNT上的交换网络嗅探器。其实,严格说,它并不具备嗅探功能,因为它只是对目标主机ARP欺骗,并以中间人的身份对收到的数据进行转发,真正的抓包分析工作,还要借助于其他工具,例如Windump、Ngrep等。Snarp的运行需要LibnetNT(Windows系统中的Libnet库)和Winpcap的支持。四.嗅探对策如果网络出现以下特征,可以基本断定网络中存在Sniffer:1.网络通讯掉包率反常的高。通过一些网络软件,你可以看到你的信息包传送情况(不是Sniffer),向ping这样的命令会告诉你掉了百分几的包。如果网络中有人在听,由于Sniffer拦截每个包,你的信息包传送将无法每次都顺畅的流到你的目的地。2.网络带宽出现反常。通过某些带宽控制器(通常是防火墙所带),你可以实时看到目前网络带宽的分布情况,如果某台机器长时间的占用了较大的带宽,这台机器就有可能在听。常见的嗅探对策有[3]:1.及时打补丁系统管理人员需要定时查询服务商或者CERT/CC、Securityfocus和SANS等网络安全站点,在这些站点中寻找昀新漏洞公告、下载补丁、安全配置等内容,并采取建议的相应对策。2.本机监控不同操作系统的计算机采用的检测工具不尽相同。大多数UNIX系列操作系统使用“ifconfig”就可以发现网卡是否工作在混杂模式下。但是在许多时候,本地监控却并不可靠,因为黑客在使用Sniffer的同时,很可能种植了一个ifconfig的“代替品”,检查的结果自然会隐藏真实的情况。所以,通常还要结合其他更高级的工具,例如tripwire、lsof等。3.监控本地局域网的数据帧。查找异常网络行为是较好的检测策略。因此系统管理员可以运行自己的Sniffer(嗅探器),例如tcpdump,Windump和snoop等等,监控网络中指定主机的DNS流量;或使用分析计数器工具(如AntiSniff)测量当前网络的信息包延迟时间。4.对敏感数据加密。对敏感数据的加密是安全的必要条件。其安全级别取决于加密算法的强度和密钥的强度。系统管理人员可以使用加密技术,防止使用明文传输信息。使用secureshell、securecopy或者IPV6协议都可以使得信息安全的传输。系统管理人员也可以使用一次性的密码。虽然这样无法阻止Sniffer收集特定的信息(如mail),但是使用一次性密码可以防止Sniffer非法获取系统的密码。在硬件系统和软件系统中使用一次性密码都是可行的。5.使用安全的拓朴结构。Sniffer无法穿过交换机、路由器、网桥。网络分段越细,则安全程度越大。五.结束语迄今为止,并没有一个切实可行的方法可以一劳永逸的阻止Sniffer的安装或者防备其对系统的侵害。Sniffer往往是攻击者在侵入系统后使用的,用来收集有用的信息。因此,防止系统被突破是关键。系统管理员要定期的对所管理的网络进行安全
本文标题:【工程方案】网络嗅探技术
链接地址:https://www.777doc.com/doc-166458 .html