网络嗅探器设计与实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

信息安全概论·课程设计网络嗅探器的设计与实现学院:计算机科学与技术班级:网络工程06-1班姓名:黄友明学号:310609040110指导老师:刘琨信息安全概论·课程设计第2页/共29页网络嗅探器的设计与实现Designandimplementationofnetworksniffer摘要随着网络技术的发展和网络应用的普及,越来越多的信息资源放在了互联网上,网络的安全性和可靠性显得越发重要。因此,对于能够分析、诊断网络,测试网络性能与安全性的工具软件的需求也越来越迫切。网络嗅探器具有两面性,攻击者可以用它来监听网络中数据,达到非法获得信息的目的,网络管理者可以通过使用嗅探器捕获网络中传输的数据包并对其进行分析,分析结果可供网络安全分析之用。本文对网络嗅探技术进行了简要分析,研究了网络数据包的捕获机制,如winpcap、原始套接字。文中首先分析了嗅探的原理和危害,并介绍了几种常见的嗅探器,然后研究了入侵检测系统中使用的包捕获技术。本文利用原始套接字在windows平台下实现了一个网络嗅探器程序,完成了对数据包进行解包、分析数据包的功能。关键词:网络嗅探器数据包捕获数据包分析原始套接字信息安全概论·课程设计第3页/共29页目录摘要.................................................................................................................................................2关键词.............................................................................................................................................21网络嗅探概述.............................................................................................................................41.1网络嗅探的简介..............................................................................................................41.2相关的网络知识..............................................................................................................41.3基于网卡混杂模式的嗅探原理......................................................................................71.4基于arp欺骗的嗅探原理..............................................................................................71.5网络嗅探的安全威胁......................................................................................................71.6网络嗅探的防范..............................................................................................................82基于原始套接字的嗅探程序.....................................................................................................92.1嗅探实现..........................................................................................................................92.2嗅探运行结果................................................................................................................253网络嗅探工具应用----WinSniffer使用方法...................................................................273.1WinSniffer简介.........................................................................................................273.2WinSniffer嗅探功能使用方法.................................................................................27小结.............................................................................................................................................29参考资料.......................................................................................................................................29信息安全概论·课程设计第4页/共29页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交换技术信息安全概论·课程设计第5页/共29页局域网交换技术是作为对共享式局域网提供有效的网段划分的解决方案而出现的,它可以使每个用户尽可能地分享到最大带宽。交换技术是在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是路由算法用以确定到达目的地的最佳路径的计量标准,如路径长度。为了帮信息安全概论·课程设计第6页/共29页助选路,路由算法初始化并维护包含路径信息的路由表,路径信息根据使用的路由算法不同而不同。1.2.3网卡的工作原理发送数据时,网卡首先侦听介质上是否有载波,如果有,则认为其他站点正在传送信息,继续侦听介质。一旦通信介质在一定时间段内是安静的,即没有被其他站点占用,则开始进行帧数据发送,同时继续侦听通信介质,以检测冲突。在发送数据期间。如果检测到冲突,则立即停止该次发送,并向介质发送一个“阻塞”信号,告知其他站点已经发生冲突,从而丢弃那些可能一直在接收的受到损坏的帧数据,并等待一段随机时间。在等待一段随机时间后,再进行新的发送。如果重传多次后(大于16次)仍发生冲突,就放弃发送。接收时,网卡浏览介质上传输的每个帧,如果其长度小于64字节,则认为是冲突碎片。如果接收到的帧不是冲突碎片且目的地址是本地地址,则对帧进行完整性校验,如果帧长度大于1518字节或未能通过CRC校验,则认为该帧发生了畸变。通过校验的帧被认为是有效的,网卡将它接收下来进行本地处理。接受到报文的计算机的网卡处理报文的过程如下图所示:非混杂模式其他硬件地址混杂模式广播地址数据包数包MAC本地接口硬件地址产生中断通知CPU接口配置模式产生中断通知CPU不处理,丢弃报文处理过程信息安全概论·课程设计第7页/共29页1.3基于网卡混杂模式的

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功