您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 参考:网络嗅探器设计与实现
JIANGSUUNIVERSITY入侵检测技术课程报告--网络嗅探器的设计与实现学院名称:计算机学院专业班级:研1101学生姓名:朱锋教师姓名:周莲英2012年5月12日信息安全概论·课程设计第2页/共28页网络嗅探器的设计与实现Designandimplementationofnetworksniffer目录1网络嗅探概述.............................................................................................................................31.1网络嗅探的简介..............................................................................................................31.2相关的网络知识..............................................................................................................31.3基于网卡混杂模式的嗅探原理......................................................................................61.4基于arp欺骗的嗅探原理..............................................................................................61.5网络嗅探的安全威胁......................................................................................................61.6网络嗅探的防范..............................................................................................................72基于原始套接字的嗅探程序.....................................................................................................82.1嗅探实现..........................................................................................................................82.2嗅探运行结果................................................................................................................243网络嗅探工具应用----WinSniffer使用方法...................................................................273.1WinSniffer简介.........................................................................................................273.2WinSniffer嗅探功能使用方法.................................................................................27信息安全概论·课程设计第3页/共28页1网络嗅探概述1.1网络嗅探的简介网络嗅探器又称为网络监听器,简称为Sniffer子系统,放置于网络节点处,对网络中的数据帧进行捕获的一种被动监听手段,是一种常用的收集有用数据的方法,这些数据可以是用户的账号和密码,可以是一些商用机密数据等等。Sniffer是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具。Sniffer的正当用处主要是分析网络的流量,以便找出所关心的网络中潜在的问题。例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器截获网络中的数据包,分析问题的所在。而嗅探器也可作为攻击工具被黑客所利用为其发动进一步的攻击提供有价值的信息。1.2相关的网络知识1.2.1交换基础交换发生网络的第二层,即数据链路层。谈到交换的问题,从广义上讲,任何数据的转发都可以称作交换。当然,现在我们指的是狭义上的交换,仅包括数据链路层的转发。1.2.1.1交换原理所谓交换,就是将分组(或帧)从一个端口移到另一个端口的简单动作。交换机在操作过程当中会不断的收集资料去建立它本身的一个地址表,MAC地址表显示了主机的MAC地址与以太网交换机端口映射关系,指出数据帧去往目的主机的方向。当以太网交换机收到一个数据帧时,将收到数据帧的目的MAC地址与MAC地址表进行查找匹配。如果在MAC地址表中没有相应的匹配项,则向除接收端口外的所有端口广播该数据帧,有人将这种操作翻译为泛洪。在我们测试过的交换机中,有的除了能够对广播帧的转发进行限制之外,也能对泛洪这种操作进行限制。而当MAC地址表中有匹配项时,该匹配项指定的交换机端口与接收端口相同则表明该数据帧的目的主机和源主机在同一广播域中,不通过交换机可以完成通信,交换机将丢弃该数据帧。否则,交换机将把该数据帧转发到相应的端口。1.2.1.2交换技术信息安全概论·课程设计第4页/共28页局域网交换技术是作为对共享式局域网提供有效的网段划分的解决方案而出现的,它可以使每个用户尽可能地分享到最大带宽。交换技术是在OSI七层网络模型中的第二层,即数据链路层进行操作的,因此交换机对数据包的转发是建立在MAC地址基础上的,对于IP网络协议来说,它是透明的,即交换机在转发数据包时,不知道也无须知道信源机和目标机的IP地址,只需知其物理地址。从网络交换产品的形态来看,交换产品大致有三种:端口交换、帧交换和信元交换。1.2.2路由基础所谓路由就是指通过相互连接的网络把信息从源地点移动到目标地点的过程。1.2.2.1路由原理当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不同IP子网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。如果没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关”的路由器上。“缺省网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路由器端口的IP地址。路由器转发IP分组时,只根据IP分组目的IP地址的网络号部分,选择合适的端口,把IP分组送出去。同主机一样,路由器也要判定端口所接的是否是目的子网,如果是,就直接把分组通过端口送到网络上,否则,也要选择下一个路由器来传送分组。路由器也有它的缺省网关,用来传送不知道往哪儿送的IP分组。这样,通过路由器把知道如何传送的IP分组正确转发出去,不知道的IP分组送给“缺省网关”路由器,这样一级一级的传送,IP分组最终将送到目的地,送不到目的地的IP分组则被网络丢弃了。1.2.2.2路由技术路由器不仅负责对IP分组的转发,还要负责与别的路由器进行联络,共同确定“网间网”的路由选择和维护路由表。路由包含两个基本的动作:选择最佳路径和通过网络传输信息。在路由的过程中,后者也称为(数据)交换。交换相对来说比较简单,而选择路径很复杂。1.2.2.3路径选择路径选择是判定到达目的地的最佳路径,由路由选择算法来实现。由于涉及到不同的路由选择协议和路由选择算法,要相对复杂一些。为了判定最佳路径,路由选择算法必须启动并维护包含路由信息的路由表,其中路由信息依赖于所用的路由选择算法而不尽相同。metric是路由算法用以确定到达目的地的最佳路径的计量标准,如路径长度。为了帮助选信息安全概论·课程设计第5页/共28页路,路由算法初始化并维护包含路径信息的路由表,路径信息根据使用的路由算法不同而不同。1.2.3网卡的工作原理发送数据时,网卡首先侦听介质上是否有载波,如果有,则认为其他站点正在传送信息,继续侦听介质。一旦通信介质在一定时间段内是安静的,即没有被其他站点占用,则开始进行帧数据发送,同时继续侦听通信介质,以检测冲突。在发送数据期间。如果检测到冲突,则立即停止该次发送,并向介质发送一个“阻塞”信号,告知其他站点已经发生冲突,从而丢弃那些可能一直在接收的受到损坏的帧数据,并等待一段随机时间。在等待一段随机时间后,再进行新的发送。如果重传多次后(大于16次)仍发生冲突,就放弃发送。接收时,网卡浏览介质上传输的每个帧,如果其长度小于64字节,则认为是冲突碎片。如果接收到的帧不是冲突碎片且目的地址是本地地址,则对帧进行完整性校验,如果帧长度大于1518字节或未能通过CRC校验,则认为该帧发生了畸变。通过校验的帧被认为是有效的,网卡将它接收下来进行本地处理。接受到报文的计算机的网卡处理报文的过程如下图所示:非混杂模式其他硬件地址混杂模式广播地址数据包数包MAC本地接口硬件地址产生中断通知CPU接口配置模式产生中断通知CPU不处理,丢弃报文处理过程信息安全概论·课程设计第6页/共28页1.3基于网卡混杂模式的嗅探原理在网络中,嗅探器接收所有的分组,而不发送任何非法分组。它不会妨碍网络数据的流动,因此很难对其进行检测。不过,处于混杂模式网卡的状态很显然和处于普通模式下不同。在混杂模式下,应该被硬件过滤掉的分组文会进入到系统的内核。是否回应这种分组完全依赖与内核。下面我举一个现实世界中的例子,说明我们检测处于混杂模式网络节点的方法。设想一下,在一个会议室中正在举行一个会议。某个人把耳朵放在会议室就可以进行窃听。当她进行窃听时,会屏住呼吸,安静地聆听会议室内所有的发言。然而,如果此时会议室内有人忽然叫窃听者的名字:“太太”,她就可能答应“唉”。这听起来有点好笑,但是完全可以用于网络嗅探行为的检测。网络进行网络嗅探的节点会接收网络的所有报文,因此其内核可能对某些本该被硬件过滤的分组作出错误回应。根据这个原理,我们可以通过检查节点对ARP报文的响应来检测网络的嗅探行为。1.4基于arp欺骗的嗅探原理所谓ARP欺骗,就是利用广播地址上主机保持周边计算机信息方式的固有安全弱点,使用伪造的MAC地址和IP地址伪装成ARP高速缓存中的另一台主机的技术。根据交换机的工作原理,有以下两种基于ARP欺骗的网络嗅探方法。(1)基于交换机的MAC-端口映射表修改的嗅探。(2)基于中间人攻击的嗅探。1.5网络嗅探的安全威胁实际应用中的嗅探器分软、硬两种。软件嗅探器便宜易于使用,缺点是往往无法抓取网络上所有的传输数据,也就可能无法全面了解网络的故障和运行情况;硬件嗅探器的通常称为协议分析仪,它的优点恰恰是软件嗅探器所欠缺的,但是价格昂贵。目前主要使用的嗅探器是软件的。嗅探器捕获真实的网络报文。嗅探器通过将其置身于网络接口来达到这个目的--例如将以太网卡设置成杂收模式。数据在网络上是以帧的单位传输的。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上。通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系信息安全概论·课程设计第7页/共28页统帧的到达,然后对其进行存储。就是在这个传输和接收的过程中,每一个在LAN上的工作站都有其硬件地址。这些地址唯一地表示着网络上的机器。当用户发送一个报文时,这些报文就会发送到LAN
本文标题:参考:网络嗅探器设计与实现
链接地址:https://www.777doc.com/doc-3814028 .html