logo资料库

网络嗅探器的设计与实现.doc

第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
资料共29页,剩余部分请下载后查看
摘要
1 网络嗅探概述
1.1 网络嗅探的简介
1.2 相关的网络知识
1.2.1 交换基础
1.2.2 路由基础
1.2.3网卡的工作原理
1.3 基于网卡混杂模式的嗅探原理
1.4 基于arp欺骗的嗅探原理
1.5 网络嗅探的安全威胁
1.6 网络嗅探的防范
1.6.1 检测嗅探器
1.6.2 将数据隐藏,使嗅探器无法发现
2 基于原始套接字的嗅探程序
2.1 嗅探实现
2.2 嗅探运行结果
2.2.1 嗅探普通数据包
2.2.2 嗅探HTTP敏感信息
2.2.3 嗅探FTP敏感信息
3 网络嗅探工具应用----Win Sniffer 使用方法
3.1 Win Sniffer简介
3.2 Win Sniffer嗅探功能使用方法
3.2.1设置
3.2.2抓取密码
3.2.3会话过程
小 结
参考资料
信息安全概论·课程设计 网络嗅探器的设计与实现 学院:计算机科学与技术 班级:网络工程 06-1 班 姓名:黄友明 学号:310609040110 指导老师:刘琨
信息安全概论·课程设计 网络嗅探器的设计与实现 Design and implementation of network sniffer 摘要 随着网络技术的发展和网络应用的普及,越来越多的信息资源放在了互联网上,网络 的安全性和可靠性显得越发重要。因此,对于能够分析、诊断网络,测试网络性能与安全 性的工具软件的需求也越来越迫切。网络嗅探器具有两面性,攻击者可以用它来监听网络 中数据,达到非法获得信息的目的,网络管理者可以通过使用嗅探器捕获网络中传输的数 据包并对其进行分析,分析结果可供网络安全分析之用。 本文对网络嗅探技术进行了简要分析,研究了网络数据包的捕获机制,如 winpcap、 原始套接字。文中首先分析了嗅探的原理和危害,并介绍了几种常见的嗅探器,然后研究了 入侵检测系统中使用的包捕获技术。本文利用原始套接字在 windows 平台下实现了一个网 络嗅探器程序,完成了对数据包进行解包、分析数据包的功能。 关键词:网络嗅探器 数据包捕获 数据包分析 原始套接字 第 2页/共 29页
信息安全概论·课程设计 目录 摘要.................................................................................................................................................2 关键词.............................................................................................................................................2 1 网络嗅探概述.............................................................................................................................4 1.1 网络嗅探的简介..............................................................................................................4 1.2 相关的网络知识..............................................................................................................4 1.3 基于网卡混杂模式的嗅探原理......................................................................................7 1.4 基于 arp 欺骗的嗅探原理..............................................................................................7 1.5 网络嗅探的安全威胁......................................................................................................7 1.6 网络嗅探的防范..............................................................................................................8 2 基于原始套接字的嗅探程序.....................................................................................................9 2.1 嗅探实现..........................................................................................................................9 2.2 嗅探运行结果................................................................................................................25 3 网络嗅探工具应用----Win Sniffer 使用方法...................................................................27 3.1 Win Sniffer 简介.........................................................................................................27 3.2 Win Sniffer 嗅探功能使用方法.................................................................................27 小 结.............................................................................................................................................29 参考资料.......................................................................................................................................29 第 3页/共 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 交换技术 第 4页/共 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 是路由算法用以确定到达目的地的最佳路径的计量标准,如路径长度。为了帮 第 5页/共 29页
信息安全概论·课程设计 助选路,路由算法初始化并维护包含路径信息的路由表,路径信息根据使用的路由算法不 同而不同。 1.2.3 网卡的工作原理 发送数据时,网卡首先侦听介质上是否有载波,如果有,则认为其他站点正在传送信 息,继续侦听介质。一旦通信介质在一定时间段内是安静的,即没有被其他站点占用,则 开始进行帧数据发送,同时继续侦听通信介质,以检测冲突。在发送数据期间。如果检测 到冲突,则立即停止该次发送,并向介质发送一个“阻塞”信号,告知其他站点已经发生冲 突,从而丢弃那些可能一直在接收的受到损坏的帧数据,并等待一段随机时间。在等待一 段随机时间后,再进行新的发送。如果重传多次后(大于 16 次)仍发生冲突,就放弃发 送。 接收时,网卡浏览介质上传输的每个帧,如果其长度小于 64 字节,则认为是冲突碎片。 如果接收到的帧不是冲突碎片且目的地址是本地地址,则对帧进行完整性校验,如果帧长 度大于 1518 字节或未能通过 CRC 校验,则认为该帧发生了畸变。通过校验的帧被认为是 有效的,网卡将它接收下来进行本地处理。 接受到报文的计算机的网卡处理报文的过程如下图所示: 数据包 数包 MAC 其他硬件 地址 接口配置模式 本地接口硬件地址 广播地址 混杂模式 产生中断 通知 CPU 产生中断 通知 CPU 非混杂模式 不处理,丢弃 报文处理过程 第 6页/共 29页
信息安全概论·课程设计 1.3 基于网卡混杂模式的嗅探原理 在网络中,嗅探器接收所有的分组,而不发送任何非法分组。它不会妨碍网络数据的 流动,因此很难对其进行检测。不过,处于混杂模式网卡的状态很显然和处于普通模式下 不同。在混杂模式下,应该被硬件过滤掉的分组文会进入到系统的内核。是否回应这种分 组完全依赖与内核。 下面我举一个现实世界中的例子,说明我们检测处于混杂模式网络节点的方法。设想 一下,在一个会议室中正在举行一个会议。某个人把耳朵放在会议室就可以进行窃听。当 她进行窃听时,会屏住呼吸,安静地聆听会议室内所有的发言。然而,如果此时会议室内 有人忽然叫窃听者的名字:“太太”,她就可能答应“唉”。这听起来有点好笑,但是完全可 以用于网络嗅探行为的检测。网络进行网络嗅探的节点会接收网络的所有报文,因此其内 核可能对某些本该被硬件过滤的分组作出错误回应。根据这个原理,我们可以通过检查节 点对 ARP 报文的响应来检测网络的嗅探行为。 1.4 基于 arp 欺骗的嗅探原理 所谓 ARP 欺骗,就是利用广播地址上主机保持周边计算机信息方式的固有安全弱点,使 用伪造的 MAC 地址和 IP 地址伪装成 ARP 高速缓存中的另一台主机的技术。 根据交换机的工作原理,有以下两种基于 ARP 欺骗的网络嗅探方法。 (1)基于交换机的 MAC-端口映射表修改的嗅探。 (2)基于中间人攻击的嗅探。 1.5 网络嗅探的安全威胁 实际应用中的嗅探器分软、硬两种。软件嗅探器便宜易于使用,缺点是往往无法抓取 网络上所有的传输数据,也就可能无法全面了解网络的故障和运行情况;硬件嗅探器的通 常称为协议分析仪,它的优点恰恰是软件嗅探器所欠缺的,但是价格昂贵。目前主要使用 的嗅探器是软件的。 嗅探器捕获真实的网络报文。嗅探器通过将其置身于网络接口来达到这个目的--例如 将以太网卡设置成杂收模式。数据在网络上是以帧的单位传输的。帧通过特定的称为网络 驱动程序的软件进行成型,然后通过网卡发送到网线上。通过网线到达它们的目的机器, 在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系 第 7页/共 29页
信息安全概论·课程设计 统帧的到达,然后对其进行存储。就是在这个传输和接收的过程中,每一个在 LAN 上的 工作站都有其硬件地址。这些地址唯一地表示着网络上的机器。当用户发送一个报文时, 这些报文就会发送到 LAN 上所有可用的机器。在一般情况下,网络上所有的机器都可以" 听"到通过的流量,但对不属于自己的报文则不予响应。如果某在工作站的网络接口处于杂 收模式,那么它就可以捕获网络上所有的报文和帧,如果一个工作站被配置成这样的方式, 它就是一个嗅探器。这也是嗅探器会造成安全方面的问题的原因。通常使用嗅探器的入侵 者,都必须拥有基点用来放置嗅探器。对于外部入侵者来说,能通过入侵外网服务器、往 内部工作站发送木马等获得需要,然后放置其嗅探器,而内部破坏者就能够直接获得嗅探 器的放置点,比如使用附加的物理设备作为嗅探器(例如,他们可以将嗅探器接在网络的某 个点上,而这个点通常用肉眼不容易发现。除非人为地对网络中的每一段网线进行检测, 没有其他容易方法能够识别出这种连接。 嗅探器可能造成的危害: (1) 嗅探器能够捕获口令. (2) 能够捕获专用的或者机密的信息. (3) 可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限. (4) 分析网络结构,进行网络渗透。 1.6 网络嗅探的防范 1.6.1 检测嗅探器 检测嗅探器可以采用检测混杂模式网卡的工具。由于嗅探器需要将网络中入侵的网卡 设置为混杂模式才能工作,能够检测混杂模式网卡的 AntiSniff 是一个工具。 证明你的网络有嗅探器有两条经验: (1)网络通讯丢包率非常高:通过一些网管软件,可以看到信息包传送情况,最简单是 ping 命令。它会告诉你掉了百分之多少的包。如果你的网络结构正常,而又有 20%-30% 数据包丢失以致数据包无法顺畅的流到目的地。就有可能有人在监听,这是由于嗅探器拦 截数据包导致的。 (2)网络带宽出现反常:通过某些带宽控制器,可以实时看到目前网络带宽的分布情况, 如果某台机器长时间的占用了较大的带宽,这台机器就有可能在监听。应该也可以察觉出 网络通讯速度的变化。 第 8页/共 29页
分享到:
收藏