您好,欢迎来到华佗养生网。
搜索
您的当前位置:首页网络信息侦听系统的研究与实现

网络信息侦听系统的研究与实现

来源:华佗养生网
维普资讯 http://www.cqvip.com 网络信息侦听系统的研究与实现 梁理黄樟钦侯义斌 (西安交通大学电脑信息技术研究所,西安710049) E-mail:ll@citi.xjtu.edu.cn 摘要 网络信息侦听是网络监测、负载分析等管理活动常用的方法,同时也是黑客非法窃取信息的手段。文章通过分 析网络传输介质的共享特性,讨论了侦听系统在Windows下的实现,BPF结构及如何对其性能进行优化,为网络管理员 对网络中的信息进行实时的监测、分析提供一个合适的工具,并探讨如何避免黑客利用侦听方式对网络进行攻击。 关键词 网络安全网络侦听网络管理 黑客 文章编号1002—8331一(2002)17—0184-03 文献标识码A 中图分类号TP393.08 Research and Implementation of the Network Snifer System Liang Li Huang Zhangqin Hou Yibin (Computer and Information Technology Institute,Xi、an Jiaotong University,Beijing 7 1 0049) Abstract: Network information detection is the basic method to analyze the traffic and manage the network,it is also used by hacker to get the information illegally.Based on the analyzing of network sharing media,this paper presents how to implement sniffer in Windows and also discusses how to optimize its performance through the research on BPF ar— chitecture.This paper introduces the network administrator a useful tool for network management and gives them some measures how to avoid the attacks by hackers using sniffer. Keywords:Network Security,Network Detection,Network Management,Hacker , 1 引言 性能优化的方法,最后探讨如何检测和避免黑客利用侦听的方 计算机网络分为两类:采用点到点连接的网络和采用广播 法对网络发动攻击,提高网络的安全程度。 信道的网络。在广播网络中,一个关键问题是:当信道使用产生 竞争时,如何分配信道的使用权。以太网【。1是一种典型的广播信 2侦听系统基本结构 道网络,采用争用型介质访问控制协议(CSMA/CD)来解决在 网络信息捕获器的实现机制121依赖于0S,不同的0S有不 相互竞争的用户之间如何分配信道的问题。正是由于以太网采 同的方法进行链路层数据包到信息捕获器缓冲区的拷贝。在 用这种广播信道争用和共享介质的方式,使得各个站点可以获 Linux系统中,它为用户提供一种工作在数据链路层的套接字 得其他站点发送的数据,这是进行网络信息侦听的物理基础。 S0CKET_PACKET,它绕过系统协议栈直接从网卡驱动程序读 以太网卡主要的工作是完成对于总线当前状态的探测,确定是 取数据,故利用这种套接字可直接获取数据链路层的原始数据 否进行数据的传送;判断每个物理数据帧目的地是否为本站地 包。若先用设备管理函数10C rL把网卡设成混杂模式,用户就 址。网卡具有如下的几种工作模式:广播模式(Broadcast MOd. 能用此套接字捕获流经子网的所有数据包。另外在BSD中提 e1)、多播传送(Muhicast Mode1)、直接模式(Direct Mode1)、混 供了BPF(Berkely Packet Filter),SunOS中有NIrI’接口,DEC 杂模式(Promiscuous Mode1)。网卡的缺省工作模式包含广播模 Uitrix中Uhrix Packet Filter,SGI的IRⅨ中有SNOOP,它们在 式和直接模式,即它只接收广播帧和发给自己的帧。如果工作 各自的0S环境中完成网络数据的捕获。在Windows系统中通 在混杂模式,一个站点的网卡将接受同一网络内所有站点所发 过利用NDIS接口13141开发网络驱动程序的方法进行实现,该文 送的数据包,这样就可以到达对于网络信息侦听目的。 将详细讨论在Windows系统下的具体实现的方法。 目前网络中的绝大部分信息都是以明文形式传送的,所以 如果对网络信息进行侦听,就可以对网络中传输的所有信息一 l、 数据缓冲区l用户态 目了然。因此,侦听系统是网络中一种功能非常强大的工具。网 I 系统服务 +-.一_t :_=j+_L__1 -= I■ 厂_\l、 一.一.一 核心态 … 络管理员可以利用它实现对网络流量的监测和分析,从而及时 一 一 发现网上不安全因素;同时黑客也可以利用它,获得网络中他 L———[——_-J.一数据缓冲区 l l设备驱动程序 —— 人的信息如帐号和密码,造成严重的后果。该文将探讨网络信 ]砸 垦] 息侦听系统的基本结构、不同操作系统下的实现方法,详细介 绍在Window下具体实现的技术,BPF结构及网络信息侦听器 图1 网络侦听系统基本结构 作者简介:梁理,硕士研究生,研究方向为网络技术及应用、网络安全。黄樟钦,副教授,研究方向为多媒体技术及其在lntemet上的应用、电子商 与安全。侯义斌,教授,研究方向为多模式交互技术和遥交互技术。 184 2002.17 计算机工程与应用 维普资讯 http://www.cqvip.com 虽然不同的操作系统有不同的实现机制,对于网络信息监 视系统来说,具有相似的基本结构和框架(如图1)。它包括如 下几个部分: WindoWS网络驱动程序 分为三类:NIC驱动程序、中间 驱动程序、高层驱动程序。物理网卡(NIC)接收到网络中的数 据帧后,通过NDIS和网卡驱动程序进行通信,网卡驱动程序 处于内核态的以太帧捕获模块:一般以设备驱动程序的形 式存在,完成网络接口卡缓冲区数据到内核包捕获缓冲区的 拷贝。 又通过NDIS和协议(Protoco1)驱动程序通信。在NIC驱动程序 和协议驱动程序中间可能还存在一个中间层驱动程序。其中 NDIS是整个系统的核心部分。通过利用NDIS接口,可以完全 控制底层的网络接口卡和驱动程序,设计特定的驱动程序便可 系统调用或系统服务模块:提供用户态侦听线程启动、停 止侦听、控制内核捕获模块的接口,实现内核态数据包缓冲区 到用户态缓冲区的拷贝。 侦听线程:处于用户态,提供用户控制侦听过程、设置侦听 范围等手段。 以完成对所有达到该网络接口卡数据的读取,达到对网络信息 监听的目的。 3.2协议驱动程序开发 参考Windows系统的DDK(Driver Development Kit)t4J中 协议分析统计模块:根据侦听到的网络数据包进行处理, 完成数据分析和统计。 的网络驱动程序(Network Drivers)开发文档,针对不同类型的 网络驱动程序,NDIS定义的一些必须向系统进行登记和实现 的接口,作为系统操纵和管理某一个网络适配器的人口。开发 3 Windows下监视系统的实现 网络驱动程序主要的工作便是对于这些接口进行实现。系统采 3.1 Windows网络结构 用协议驱动程序来进行网络数据包的读取,下面是协议驱动程 随着信息技术的发展,通过网络进行信息的共享和传输成 序需要实现的接口和登记的接口: 为一种普遍的需求。一个操作系统的实现中必须提供用户进行 DriverEntry:它是操作系统调用该驱动程序的人口,是一 简单方便网络连接的功能,这正是Windows系统网络组件四的 个必须进行实现的函数。其具体的实现包括: 设计目标。Windows系统采用一种分层设计的思想,网络组件 (1)调用NdisRegisterProtocol函数向系统进行登记,将自 作为其核心态执行体L/O子统中的一个组件而嵌入系统内部, 己注册成为一个协议驱动程序,同时设置驱动程序函数的人口。 是操作系统内核中的一个组成部分,因而具有较高的执行效 (2)调用NdisOpenAdapter函数绑定(Bind)和打开(Open) 一率。以ISO七层协议模型为参考,Windows网络组件体系结构 个或多个网络适配器(Adapter)。 如图2所示。 (3)调用NdisRequest函数查询网络适配器的状态,设置网 络适配器的相关参数。根据返回的状态值确定该驱动程序是否 3 ̄r/o,命名管道,邮件槽 启动成功。 ——供应者接口—— (4)接收和发送数据包。 ———索发程 —一 !!!! !! ! !!! BindAdapterHandler:NDIS通过这个函数请求协议驱动程 序绑定到一个底层的NIC或者虚拟NIC。 UnbindAdapterHandler:NDIS通过这个函数关闭协议驱动 NDIS ̄口 HDI明:境和驱动程序 程序到NIC或者虚拟NIC的连接。 OpenAdapterCompleteHandler:当协议驱动程序调用 以太、令牌或其他 NdisOpenAdapter函数的返回为NDIs—STATUS_PENDING时, lindow网络铭构 这个函数来指示绑定(Binding)操作完成。 图2 Window网络结构 CloseAdapterCompleteHandler:当协议驱动程序调用 NdisCloseAdapter函数的返回为NDIS_STATUS_PENDING,这 在Windows系统的网络分层结构中,对于处于内核的每 个函数来指示关闭(Unbinding)操作完成。 一层、同层的不同组件都是采用驱动程序的方式进行实现。网 ReceiveHandler:当一个数据包到达时,便调用这个接口进 络信息监视系统所考虑的部分处于网络层、数据链路层和物理 行处理。 层。图3是Windows系统中这三层的网络驱动程序结构。 ReeeiveCompleteHnadler:指示进行接收的数据是否已经接 收完成。 TransferCompleteHandler:当协议驱动程序调用 NdisTransferData函数的返回值为NDIs—STATUS_PENDING,系 统调用这个函数指示进行传送的数据是否已经发送完成。 SendCompleteHandler:当协议驱动程序调用NdisSend函 数的返回值为NDIS—s1IATUs—PENDING,系统调用这个函数指 示进行发送的数据是否已经发送完成。 ResetCompleteHandler:指示Reset操作是否已经完成。 RequestCompleteHandler: 当协议驱动程序调用 NdisRequest函数的返回值为NDIs—STATUS_PENDING,函数 指示进行查询和设置操作是否完成。 StatusHandler:用来处理底层NIC的状态变化。 图3 WiMows网络驱动程序 StatusCompleteHandler:表示由NDIS或者NDIS驱动程序 计算机工程与应用2002.17 185 维普资讯 http://www.cqvip.com 所发起的Reset操作是否完成。 态进程调用内核的次数,极大地提高了数据包的处理能力。在 3.3 WinPcap结构 系统实现的过程中可以充分利用BPF过滤模型的这种特性, WinPcap 是基于BPF模型【吲 和Libpcap函数库的 通过根据不同的网络侦听的需求,如针对特定的协议、特定的 Windows平台下网络数据包捕获和网络状态分析的一种体系 机器等,设置内核过滤器,减少捕获的数据的大小,同时增加内 结构。它由一个核心的包过滤驱动程序,一个底层的动态连接 核缓冲区的大小,使系统能够获得一个很好的性能。 库(Packet.d1)和一个高层的于系统的函数库(Libpcap)组 成。底层的包捕获驱动程序实际为一个协议网络驱动程序,通 4网络侦听的防范 过对NDIS中函数的调用,为Windows95、Windows98、Windows 网络侦听技术既可以被管理员用来对网络状态进行分析, NT和Windows 2000提供一种类似于UNIX系统下Berkeley 及早发现网络安全隐患,同时如果使用不当或被黑客利用,对 Packet Filter的捕获和发送原始数据包(Raw Packet)的能力。 网络的安全造成危害。用户和网络管理员可以从硬件和软件两 Packet.dll是对这个BPF驱动程序进行访问的API接口。同时 方面采用如下措施,保证自己的网络避免受恶意的侦听。 它一套符合Libpcap接口(UNIX下的捕获函数库)的函数库, (1)非混杂模式的网卡和交换式Hub。网络的建设者可以 这样它提供了于底层网络硬件和操作系统平台的高层的 在组建局域网的时候,就考虑对侦听器的,如局域网内的 函数,使得包捕获的应用程序具有良好的源代码级(用标准C 所有机器都采用不支持混杂模式的网卡。以及采用交换式的 语言开发)的可重用性和可移植性。原型系统的实现便是基于 Hub进行网络分段,缩小被侦听的范围。 WinPcap结构和开发函数库,具体的接口和函数可以参考有关 (2)加密。因为网上传送的信息都是不加密的,所以侦听程 资料 。 序能侦听并分析出网络中的信息。如果网上的信息都以密文的 3-4 BPF工作过程及性能优化 形式传输,那么即使侦听程序能侦听到所有的报文,但它不能 BPF或者BSD Packet Filter是一种由Steven McCanne和 分析出报文的内容,如采用SSH进行登录,PGP或者S/MIME Van Jacobson提出的一种内核包捕获的体系结构 ,它使得 加密Email,ssL进行Web访问等。 UNⅨ下的应用程序通过一个高度优化的方法读取流经网络适 (3)一次性口令机制(One Time Password)。黑客利用侦听 配器的数据包。WinPcap的核心网络驱动程序也是采用这种结 技术侦听到网络中传输的用户名和口令,然后假冒用户登录, 构的。它主要由两部分组成:Network tap和Packet filter。 利用用户的权限对网络或系统造成进一步的破坏,甚至盗取机 Network tap是一个回调函数(callback function),并不是直接 密数据。针对这种情况,可以采用S/key或其他一次性口令机 由BPF执行,当一个新的数据包到达时,由网络适配器的设备 制或基于可信任的第三方认证服务,使得黑客侦听到的用户名 驱动程序激活,它从网络拷贝每个数据包,并且将它们分发到 和口令失去效用。 对应的应用程序。Packet filter来决定一个数据包是否需要进 (4)定期进行检测181。运行于混杂模式下的机器,对于所有 行接收和拷贝到相应的应用程序,同时还提供一种很复杂的功 的数据包都会响应,不管是正确的还是错误的物理地址,所以 能,可以确定需要进行拷贝的数据的长度。BPF的工作原理如 可以采用Ping的方式,向该机器发送正确IP地址和错误的物 图4所示。 理地址的数据包,如果有响应的话,可以确定有侦听程序的运 Appmeation  、行。同时可以通过定期观察系统运行的进程,确定是否存在侦 User 听程序。 Leve 5 总结 网络侦听技术是网络管理的一个重要环节,同时也是黑客 常用的一种方法。详细地研究该技术的实现原理和方法,一方 面可以提供一种能对网络中的信息进行实时监测、分析的工 具,从而可以及时发现黑客的入侵,制止他们的破坏行径;另一 KemeI 方面可以考虑如何避免自己的网络被人侦听,对于保障网络的 Leve J 安全有十分重要的意义。该文重点介绍了侦听技术的基本原 理,通过分析Windows平台下的网络体系结构,着重讨论了 Windows平台的具体实现,最后给出了防范黑客网络侦听的方 法,为网络管理员提供参考。进一步的研究将是如何分析和利 用侦听的数据,利用统计、人工智能、模式匹配等方法构建黑客 访问和攻击模型,实现网络的入侵检测(IDS),及时地产生网络 Pacl(ets Netw0rl( 系统的安全分析报告,为系统管理员提供预警。 图4 BPF过滤模型m (收稿日期:2001年7月) 由Network tap不断地从网络适配器获得数据包,通过 参考文献 Packet Filter的判断后,拷贝数据到内核Store buffer,当Store 1.蔡皖东.计算机网络技术[n1.西安电子科技大学出版社,1998:23-38 bufer填满后,将和Hold bufer进行数据交换,再由Hold 2.钱丽萍,高光来.包捕获技术:原理、防范和检测[J】.计算机系统应用, bufer将数据拷贝到处于用户层的User bufer中。由于采用这 2000;(3):31-33 种内核过滤、数据包双缓冲、数据包批拷贝的方式,减少了用户 (下转226页) 186 2002.17 计算机工程与应用 .囊 籍 维普资讯 http://www.cqvip.com 该层主要包括系统的基础数据资料。包括产品信息、公司 决策部分主要包括联盟选择决策、联盟重构决策和联盟内 信息、人员信息、各种汇率和利率信息等。产品信息指系统内出 的协调决策。联盟选择决策是指联盟伙伴的选择及优化。即根 现的所有零件和成品信息。公司信息指在系统中所涉及的包括 据一定的战略指标,如何在众多可以结成动态联盟的企业中选 供应商、经销商、核心企业以及客户类公司的信息。人员信息指 择最佳盟友;联盟重构决策是指系统在原有资源的基础上,通 系统中所涉及的包括操作人员、系统内的业务人员以及客户信 过调整系统的结构、功能等使系统快速适应需求变化的能力。 息。基础信息层作为系统中其他层运作的基础,它的正确性和 动态重构一方面要求动态联盟的架构支持重构的迅速完成;另 运行的稳定性至关重要。此外保证该层数据的公用性和私有性 一方面是在何时重构,如何重构,即解决动态联盟在外界和内 的统一也是使系统有实用价值的关键。对于个人和公司的基本 部因素变化时,联盟结构是否应该变、何时变、怎么变的问题。 信息应保持统一和共用。即系统内对某一公司或一个特定的人 供应链一般具有一定的生命周期,包括酝酿期、构建期、幼年 应是唯一的,可利用人的身份证号和公司的税号加以区分。这 期、成熟期、衰退期、消亡期。要在衰退期没有到来之前,就开始 些基本信息对于系统内所有公司应是开放以便提高工作效率。 运酿形成新的供应链,从而跨越衰退期,直接构建新的供应链, 而其他一些公司的商业性资料对于系统内其他公司应是保 这需要动态重构代理来完成;联盟内的协调决策通常被定义为 密的。 行为之间相互作用的过程。供应链管理系统中,协作普遍存在 4.2业务处理层 而又是相当复杂。这些协作可概括为三类:供应与生产计划间 该层包含各公司进行业务操作的功能模块,主要有供应商 的协作,即原材料的采购及零部件的供应与生产计划间的协 供货管理、经销商销售管理、客户关系管理、库存管理以及系统 调,包括采购周期及批量大小,交货方式、时间及物料库存情况 内单据自动转换管理等。供应商供货管理指核心企业与供应商 等;库存与销售计划间的协作;生产与计划间的协作,包括如何 之间的零件或原料供应业务。经销商销售管理指经销商的产品 把产品发送到配送中心、零售商或工厂,如何选择最佳运输路 销售和经销商与核心企业之间的产品供应管理。客户关系管理 线及运输批量等。 指对产品的终身跟踪管理和最终用户的信息管理。库存管理指 产品和零件的存储管理和运输管理。单据管理指各业务完成后 5 结束语 的单据生成和系统内各公司间单据的自动转换管理。业务处理 该文在提出供应链中动态联盟的概念的基础上,针对某大 层是供应链操作的实用层。考虑系统内同类的各公司间的实际 型制造企业提出了实现基于动态联盟的核心企业SCM系统的 业务会有所差异,故在开发中应用了组建模块开发思想。 体系结构和功能模块。这一工作对动态联盟企业的供应链管理 4.3系统监控层 系统的构建具有一定的理论和实际指导意义。 该层主要是对系统的状态进行监控。检测系统中出现的合 (收稿日期:2002年1月) 作冲突和流程中断,当达到报警值后进行自动报警。 4.4系统控制决策层 参考文献 控制决策层处于系统的最上层,是整个系统的灵魂。该层 1.E Huang,F T Cheng,H C Yang.Development of a collaborative and 处理的好坏直接影响到系统的成败。主要包含供应链下动态联 event—driven supply chain information system using object technology 盟的评价和决策。 【C】.In:1EEE Int Conf Robotics and Automation,1999 评价部分主要包括评价模型管理、供应商评价、经销商评 2.朱祖平.创新供应链策略与合作对象构成的量化分析叨.科研管理,21 价、核心企业评价以及整体供应链的评价。评价模型管理是指 (6):15-23 对具体进行评价时所用的评价模型进行比较、选择。在评价模 3.柴跃廷,张晓东,董进等.敏捷供应链管理系统的可重构性分析[J】.清 华大学学报,2000;40(3):68~71 型确立后,可分别对供应商、经销商、核心企业、整体供应链列 4.B R Kmzy.Design and implementation of virtual organization[C].In: 出相应的评价指标进行评价。以供应商为例,可对供应商的任 Prec 3 1‘Annual Hawaii International Conference on System Science, 务相关性指标(交货的准时性、变通性、稳定性、核心能力优势、 1998:142~150 共享信息能力、财务实力等)和伙伴性指标(相互信任程度、强 5.P K Chrysanthis,T F Znati,S Banerjee et a1.Establishing virtual en— 调长期关系、享有共同目标、利益风险共享等)进行评分,再根 terprises by means of mobile agents[C].In:Proceedings of the Research 据评价模型计算后得出最后的评价结果。 Issues in Data Engineering Workshop,Sydney,Australia,1999 (上接186页) 8el-v.polito.it 3.易发胜,彭孜,李成林.Windows网络体系结构分析及网卡驱动程序设 8.张小斌,严望佳著.黑客分析与防范技术『M】.清华大学出版社,1999: 计【J1.计算机应用,1999;(1O) 69~9o 4.Windows2000 DDK:Network Drivers.Part3,http://www.microsoft.com 9.【美]Chris Cant著.孙义,马莉波等译.Windows WDM设备驱动程序开 5.【美]Helen Custer.程渝荣译.Windows NT技术内幕【M】.清华大学出版 发指南[M】.机械工业出版社,2000:1-30 社,1993:200~220 1O.【美】w Richard Stevens著.施振川等译.UNIX网络编程【M】.清华大学 6.李少为,汪为农.网络侦听器的实现与优化叽上海交通大学学报,1998; 出版社,2000:599~619 (10):84~86 l1.【美JW Richard Stevens著.胡谷雨,吴礼发等译.TCP/IP详解,卷1:协 7.WinPcap:a Packet Capture Architecture for Windows.http://netgroup- 议[M】.机械工业出版社,2000:1-l1、15~17、174~177、l1O~l13 226 2Oo2.17 计算机工程与应用 ~ 一灞 _ …___ 蠢 ¨_■一…一 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo7.cn 版权所有 湘ICP备2022005869号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务