网站地图
范文同学网


自动化 模具 机械 电子 通信 动画 英语范文 工程管理 金融范文 旅游管理 工业工程 生物工程 给排水范文 西门子PLC 历史学 三菱PLC
单片机 财务 会计 法律 行政 物理 物流范文 电子商务 制药工程 包装工程 土木工程 材料科学 汉语言范文 欧姆龙PLC 电压表 松下PLC
计算机 化工 数电 工商 食品 德语 国贸范文 人力资源 教育管理 交通工程 市场营销 印刷工程 机电一体化 数控范文 变电站 文化产业

  • 网站首页|
  • 文档范文|
  • 人工降重|
  • 职称文章发表|
  • 合作期刊|
  • 范文下载|
  • 计算机范文|
  • 外文翻译|
  • 免费范文|
  • 原创范文|
  • 开题报告

联系方式

当前位置:范文同学网 -> 免费范文 -> 计算机范文 -> 免费个人入侵检测系统的实现(四)
计算机文章范文| ASP设计| Delphi| VB设计| JSP设计| ASP.NET| VB.NET| java设计| VC| pb| VS| dreamweaver| c#.net| vf| VC++| 计算机文档范文| 范文下载| 自动化范文
·电气自动化原创文章范文 ·学前教育专业原创文章范文 ·国际经济贸易原创文章范文 ·药学专业原创文章范文 ·英语专业原创文章范文 ·公共事业管理原创文章范文
·金融专业原创文章范文 ·广播电视编导原创文章范文 ·电子商务专业原创文章范文 ·法律专业原创文章范文 ·工商管理原创文章范文 ·汉语言文学原创文章范文
·人力资源管理原创文章范文 ·摄影专业原创文章范文 ·心理学专业原创文章范文 ·教育管理原创文章范文 ·市场营销原创文章范文 ·计算机专业原创文章范文
·物流管理专业原创文章范文 ·小学教育专业原创文章范文 ·行政管理专业原创文章范文 ·土木工程管理原创文章范文 ·财务会计专业原创文章范文 ·信息管理信息系统原创范文
·新闻学专业原创文章范文 ·眼视光技术原创文章范文 ·播音与主持原创文章范文 ·广告学专业原创文章范文 ·表演专业原创文章范文 ·动画专业原创文章范文
·视觉传达设计原创文章范文 ·数控技术专业原创文章范文 ·录音艺术原创文章范文 ·光机电应用技术原创范文 ·机电一体化原创文章范文 ·印刷技术专业原创文章范文
·动漫设计与制作原创范文 ·软件技术专业原创文章范文 ·书法学专业原创文章范文 ·应用电子技术原创文章范文 ·电子信息工程技术原创范文 ·机械专业原创文章范文
·酒店管理专业原创文章范文 ·旅游管理专业原创文章范文 ·文化产业管理专业原创范文 ·体育教育专业原创文章范文 ·通信工程专业原创文章范文 ·护理专业原创文章范文

原创文档范文 → 计算机专业原创文档范文 软件技术专业原创文档范文  现成文档范文 → 计算机文档范文

免费个人入侵检测系统的实现(四)

本文ID:LW6239 ¥
户级缓冲等其它的高层函数,增加了比如统计和包发送等更高级的特性。因此程序员能处理两种类型的API:一套原始函数集,包含在packet.dll中,直接与内核层调用匹配;另一套高层函数由wpcap.dll提供,便于用户调用,功能更强大。程序员能随意使用wpcap.dll,但只能在受限的环境中直接使用packet.dll. 总的说来,Packet.dll直..
户级缓冲等其它的高层函数,增加了比如统计和包发送等更高级的特性。因此程序员能处理两种类型的API:一套原始函数集,包含在packet.dll中,直接与内核层调用匹配;另一套高层函数由wpcap.dll提供,便于用户调用,功能更强大。程序员能随意使用wpcap.dll,但只能在受限的环境中直接使用packet.dll.
 总的说来,Packet.dll直接映射了内核的调用。Wpcap.dll提供了更加友好、功能更加强大的函数调用。Winpcap的具体结构图2所示:
图2 Winpcap的具体结构
 正如在Windows网络体系结构中所阐释的,Win32网络架构基于NDIS(Network Drive Interface Specification网络驱动程序接口标准)。NDIS工作在Windows内核网络部分的最底层。捕获进程核心必须工作在内核层,先于协议栈之前处理包。BPF被网卡驱动程序直接调用,要求NIC设备驱动程序遵从一些所谓的“BPF(Berkeley Packet Filter)驱动规范”。换句话说,它需要设备驱动可以直接调用BPF Tap函数,能控制所有经过网卡的包(发送或接收),能对过滤后的包进行复制。当使用Winpcap进行捕获时,这种方法明显不行。因为Windows与BPF驱动规范有些不同:Windows不允许为了增加捕获功能而改变操作系统和NIC驱动。因此,Winpcap把Network Tap作为协议驱动放置在NDIS结构的上方。NDIS没有从NPF中完全分离出底层,不能自动支持不同的介质类型,故需要以这种方式构建。与NDIS的交互使NPF(NetGroup Packet Filter)比原始的BPF更加复杂,BPF通过一条简单的回调函数与系统交互;在另一方面,NPF是协议栈的一部分,就同其它网络协议一样与操作系统交互。然而,NPF获得了更好的执行效果,其Tap比BPF还要运行得快。同BPF一样,当包静止时NPF把过滤器放入NIC驱动内存中。另一个优化措施是NPF的同步操作。异步调用不支持,因此用户级存取经常被阻塞。NPF不需要设置用户级访问缓冲队列,这使驱动运行得更快。
 图3显示了NPF在NDIS结构中的位置:
 可以看出Winpcap也是用的NDIS,它将自己注册为一个协议处理驱动。(在原代码的driverentry里面能看到)。NPF是Winpcap中的核心部分,它完成了大部分的工作:将数据包发送到网络中并导出捕获的数据包,交由用户程序分析处理。
图3 NDIS内NPF
 Winpcap中NPF的实现由于是以协议驱动程序的模式来实现的,虽然从性能上看来并不是最始数据的完全访问。不同的Windows系统有不同的NDIS版本,NPF兼容Win2K及其后续的WinXP版本下的NDIS5,也兼容其他Windows平台下的NDIS3版本。NPF与操作系统之间的通信通常是异步的,NPF提供了一系列的回调函数供操作系统在需要时调用。NPF提供了应用程序所有I/O操作的回调函数,如:open,close,read,write等。
 NPF与NDIS之间的通信也是异步的.一些事件如当数据包到达时是通过回调函数通知NPF(这个例子中是Packetes tapo),并且,NPF与NDIS和NIC驱动之间的通信是非阻塞函数来实现的。当NPF调用NDIS函数时,调用立即返回;当处理完毕时,NDIS再调用一个特定的函数通知NPF.NPF对所有的底层操作都提供了回调函数。 图4显示了NPF的基础结构及其在Winpcap中的工作模式。
 
图4 NPF协议驱动
 Winpcap中过滤进程由用户级部分开始。它能接收一组用户定义的过滤规则(例如接收所有的UDP数据包),把它编译成一套伪指令(例如,如果是IP包且协议类型等这些指令等于17.就返回“True"),把这些指令发送到内核层过滤器,最后激活代码。内核层过滤器必须能够执行这些指令;此外,它需要一个“BPF虚拟机”来执行伪代码从而对所有到来的包进行操作。这个核心层和BPF兼容的过滤器是Winpcap获得良好性能的关键。NPF不同于BPF的一个重要的结构差别就是选择了一个环形缓冲区作为核心缓冲区.这有利于数据包快的复制。但这种机制更难于管理。因为复制的数据不再有固定的大小(Libpcap中,用户缓冲区和核心缓冲区都是32K)。当数据从内核缓冲区传送到用户缓冲区时,相同数量的包被复制到内核缓冲区中。它们是同步更新的,而不是在之后。由于内核部分较之缓冲区传送有更高的优先级,能独占CPU时,故复制过程(从用户层开始)能释放掉缓冲区已传送的部分。环形缓冲区允许所有的容量来存放数据包,前面谈到的一对BPF交换缓冲区只能用一半的容量。整个缓冲区可以用一条简单的Read() 指令读取,肯定减少了系统调用和在用户、内核模式之间上下文切换的次数。因为一次上下文切换需要保护现场(仅CPU描述符和任务状态段的开销就接近数百个字节),大批的传送会减少进程的开销。但是一个太大的用户缓冲区不会带来任何好处。当可分配内存太大时,上下文切换的开销反而可忽略不计了。Winpcap的核心缓冲区比BPF的大,通常为1M。一个小缓冲区会影响捕获进程。尤其在一段时间里应用进程读取数据的速度不如捕获进程,而且数据要被传送到磁盘,网络流量在激增。内核缓冲区和用户缓冲区都能在运行时间里改变。
 数据解析模块
 在本模块的设计中,主要涉及了三方面的知识:windows网络体系结构、TCP/IP协议,数据的封装和分用过程。
 TCP/IP参考模型与ISO(International Standards Organization)的OSI(Open Systems Interconnection Reference Model)参考模型相比,要简单实用得多,也是目前广泛使用的网络参考模型。在TCP/IP参考模型中没有明确的数据链路层和物理层,而是将它们合为较为抽象的“网络设备互连”作为硬件基础,随主机和网络的不同而不同。这种模型的应用范围较广,既可用于广域网.也可用于局域网。TCP/IP协议族,有很多协议。
 当应用程序用TCP传送数据是,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息)。TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCP segment)。IP传给网络接口层的数据单元称作IP数据报。通过以太网传输的比特流称作帧(Frame)。这就是通常说的数据的封装过程。
 当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(Demultiplexing)。
 IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。IP提供不可靠、无连接的

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 4/10/10

免费个人入侵检测系统的实现(四)相关范文
上一篇:免费房产证信息数字签名的实现 下一篇:免费基于Aglet的入侵检测系统的实..
点击查看关于 免费 个人 入侵 检测系统 实现 的相关范文题目 【返回顶部】
精彩推荐
电气工程自动化原创范文  电子商务原创文章范文
人力资源专业原创文章范文 土木工程原创文章范文
工商管理专业原创范文    药学专业原创范文
汉语言文学专业原创范文  会计专业原创文章范文
计算机技术原创文章范文  金融学原创文章范文
法学专业原创文章范文   市场营销专业原创范文
信息管理专业原创文章范文 学前教育专业原创范文
公共事业管理专业原创范文 英语专业原创范文
教育管理专业原创范文   行政管理专业原创范文
热门范文

关于我们 | 联系方式 | 范文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士文章范文


范文同学网提供文档范文,原创文章范文,网站永久域名www.lunwentongxue.com ,lunwentongxue-范文同学网拼音首字母组合

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2024 范文同学网 版权所有