1 / 7
文档名称:

包捕获机制.docx

格式:docx   大小:14KB   页数:7页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

包捕获机制.docx

上传人:286919636 2025/4/23 文件大小:14 KB

下载得到文件列表

包捕获机制.docx

相关文档

文档介绍

文档介绍:该【包捕获机制 】是由【286919636】上传分享,文档一共【7】页,该文档可以免费在线阅读,需要了解更多关于【包捕获机制 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。包捕获机制
  包捕获机制是依赖于操作系统的,从广义的角度上看,一个包捕获机制包含三个主要部分:最底层是针对特定操作系统的包捕获机制,最高层是针对用户程序的接口,第三部分是包过滤机制。
  不同的操作系统实现的底层包捕获机制可能是不一样的,但从形式上看大同小异。数据包常规的传输路径依次为网卡、设备驱动层、数据链路层、网络层、传输层、最后到达应用程序。而包捕获机制是在数据链路层增加一个旁路处理,对发送和接收到的数据包做过滤、缓冲等相关处理,最后直接传递到应用程序。
  1常见的包捕获机制
  不同的操作系统上有不同的包捕获机制:SunOS系统中有NIT接口;在DEC的Uhrix环境下有UhrixPacketFilter;在SCII的IRIX中有SNOOP;Linux系统为用户提供了一种工作在数据链路层的套接字SOCKPACKET;BSDUNIX系统下的BPF;在Windows平台上,近几年也陆续有多种捕获应用工具面世,如NetmnonAPI,PCAUSA等,与BPF不同的是,这些产品是商业性质的。Winpcap则是Window平台上为数不多的功能强大且可免费获得的包捕获接口软件之一,来源于BSD的网络数据包过滤器NPF是Winpcap的核心部分。BPF和NPF是效率较高、应用广泛的包捕获机制,在下一节的包捕获过滤模型中将对其进行详细介绍,常用的包捕获机制如下表所示:
  2包捕获过滤模型
  通常,网络信息中会存在若干用户不关心的数据,或者称为垃圾数据,若此所占比重较大,将严重影响捕包系统的工作效率,造成系统丢包。为了解决此问题,人们引入了包过滤机制,包过滤机制在包捕获机制中占有重要的地位。实际上在理论研究和实际应用中,包捕获和包过滤从语意上并没有严格的区分,关键在于认识到捕获数据包必然有过滤操作。
  UNIX和Windows系统下的包捕获过滤机制分别是BPF和NPF,由于这样基于软件的数据包捕获机制便于发布且灵活性强,升级方便,因此,许多提供网络监视和分析的专业软件都是使用这种方式来实现的。我们之所以研究BPF和NPF的捕获过滤模型,就是为了通过深入地理解和运用模型的工作机制进行数据包的采集和过滤,从而开发出高效可靠的网络协议分析系统。下面将详细介绍这两种机制的参考模型。
  参考模型BPF是基于BSD系统的包过滤模型,它使用了新的基于寄存器的过滤算法,效率比旧的算法提高了20倍,它的缓存机制对整体效率的提高有很大作用。
  BPF有两个主要部件,网络包监视和网络包过滤。NetworkTap从网络设备驱动程序中搜集数据拷贝并转发给过滤器。过滤器决定是否接收该数据包,以及接收该复制数据包的哪些部分。BPF过滤器的过滤功能是通过虚拟机执行过滤程序来实现的。过滤程序实际上是一组过滤规则。过滤规则由用户定义,以决定是否接收数据包和需要接收多少数据。过滤过程可描述如下:当数据包到达网络接口时,链路层驱动程序将其提交到系统协议栈;如果BPF正在此接口监听,驱动程序将首先调用BPF,BPF将数据包发送给过滤器,过滤器对数据包进行过滤,并将数据提交给过滤器关联的上层应用程序;然后链路层驱动将重新取得控制权,将数据包提交给上层的系统协议栈处理。
  系统主要由三部分组成:NetworkTap,BPF和Libpcap。NetworkTap监视共享网络中的所有包,BPF用过滤条件匹配所有由NetworkTap监视到的包,若匹配成功则将之从网卡驱动的缓冲区中复制到核心缓冲区。Libpcap是一个系统无关、采用分组捕获机制的分组捕获函数库,用于访问数据链路层。这个库为不同的平台提供了一致的编程接口,在安装了Libpcap的平台上,以Libpcap为接口写的程序、应用,能够自由的跨平台使用。大多数监听程序都使用它和内核部分进行通信。
  参考模型
  Winpcap是针对Win32平台上的抓包和网络分析的一个架构,NPF则是Winpcap的重要组成部分之一。NPF的主要思想就是来源于Unix中的BPF,它的设计目标是要为Win32平台提供一个功能强大的开放式数据包捕获架构,使用户能够在Windows环境下直接开发高性能的网络分析与管理软件,也可以把原来运行在Unix系统中的许多分析工具经过简单的重新编译移植到Windows中。NPF作为BPF在Windows环境下的演化版继承了BPF的以下重要模块:过滤器,两级缓冲以及用户级的一些函数库。最底层的是网络接口,用来收发网络数据包。在捕获过程中,网络接口工作在混杂模式,接收网段中的所有数据包。数据包捕获驱动器是整个捕获栈中最底层的软件模块,它工作在系统内核层,通过NDIS网络驱动程序接口规范与网络接口的驱动程序进行通信,取得网络数据包,并向高层应用程序提供来自数据链路层数据的接口。
  NPF参考模型由三个模块所组成,一个在内核级,另外两个以DLL的形式处于用户级:内核级的网络捕包过滤器。NPF是一个经过优化的内核模式驱动器,用于对数据包进行过滤,将接收的数据包提交给用户级。NPF采用循环缓冲区作为内核缓冲区,循环缓冲区就像一个队列一样,它的“头”和“尾”是不固定的两个指针,指针可以随着数据的进人或者复制到用户缓冲器而变动,运行过程中它会随时释放那些已复制的数据空间,通过这样的方式来保存数据包可以提高数据的存储效率。
  数据包底层动态链接库。数据包驱动程序库是与Libpcap相兼容的一组用户级的函数库。用于在Win32平台下为数据包驱动程序提供一个公共的接口。由于不同的Windows版本在用户级和内核级之间提供各不相同的接口,而可以屏蔽这些区别,提供一个与系统无关的API,因此基于开发的数据包截获程序可以运行于不同的Win32平台而不必重新进行编译。
  数据包高层驱动程序库。是与操作系统无关的,它含有诸如产生过滤器、用户级缓冲以及包注入等高级功能。它提供了更加高层、抽象的函数,同时也提供了更加友好、功能更加强大的函数调用。
  3总结
  数据包捕获技术是通过计算机的软件和硬件来截获在网络上传输的数据包,它工作在网络的底层,能够把在网络上传输的数据记录下来,并且通过相应的软件处理,实时解码分析这些数据的内容,从而获取人们所需要的数据包捕获机制

最近更新

企业吉祥物形象代言授权合同标准范本 3页

企业常年法律顾问聘请合同范本 3页

企业社会责任就业安置协议书 3页

2025年度教育课程内容委托制作合同范本3篇 48页

企事业单位安全风险评估及防控服务协议 3页

体育设施场地租赁合同标准样本 3页

保密产品研发保密协议范本 2页

保密管理专业课程培训服务协议 2页

保理业务居间服务标准化范本合同 3页

信息技术产品集中采购合同 3页

2025年度家具家电绿色供应链管理合同3篇 46页

充电桩安装项目投资、施工与验收合同 3页

2025年度学校代课教师聘用及教学成果评估合同.. 39页

2025年度委托招生考试考生接送服务协议3篇 44页

2025年度夫妻婚内行为规范与共同生活规划协议.. 45页

农业科技创新保密协议修改范文 2页

农产品加工代工合作协议合同 3页

农产品采购框架合同协议书 3页

冲压件回收与再利用合作合同范本 3页

出借咨询及资产配置服务合同正本[5] 2页

出国打工人员劳动合同与职业发展保障与服务协.. 3页

2025年度地下空间开发工程中介代理合同3篇 36页

出租车行业人才培养合作协议 2页

创新创业孵化器场铺面租赁管理协议 3页

办公区租赁项目政府采购执行合同 3页

办公室设备数字化管理平台建设合同 3页

办公耗材专业配送与售后服务合同 3页

辽宁省鞍山市2025届高三12月第三次月考-物理答.. 5页

2025年附表1药用植物资源实地调查记录表 8页

通信工程安全生产培训考试试题(答案解析版) 6页