| 网站首页 | 范文 | 演讲致词 | 汇报体会 | 总结报告 | 公文方案 | 领导讲话 | 党建工会 | 论文 | 文档 | 
您现在的位置: 范文大全网 >> 论文 >> 工科论文 >> 电子机械 >> 正文 用户登录 新用户注册
常见的包捕获机制研究           
常见的包捕获机制研究
摘 要:包过滤机制是对所捕获到的数据包根据用户的要求进行筛选,最终只把满足过滤条件的数据包传递给用户程序。重点对两种常见的包捕获机制进行了分析。
  关键词:包捕获;BPF;NPF
  
  包捕获机制是依赖于操作系统的,从广义的角度上看,一个包捕获机制包含三个主要部分:最底层是针对特定操作系统的包捕获机制,最高层是针对用户程序的接口,第三部分是包过滤机制。
  不同的操作系统实现的底层包捕获机制可能是不一样的,但从形式上看大同小异。数据包常规的传输路径依次为网卡、设备驱动层、数据链路层、网络层、传输层、最后到达应用程序。而包捕获机制是在数据链路层增加一个旁路处理,对发送和接收到的数据包做过滤、缓冲等相关处理,最后直接传递到应用程序。
  
  1 常见的包捕获机制
  
  不同的操作系统上有不同的包捕获机制:SunOS系统中有NIT接口;在DEC的Uhrix环境下有Uhrix Packet Filter;在SCII的IRIX中有SNOOP;Linux系统为用户提供了一种工作在数据链路层的套接字SOCK PACKET;BSD UNIX系统下的BPF(BSD Packet Filter);在Windows平台上,近几年也陆续有多种捕获应用工具面世,如Netmnon API,PCAUSA等,与BPF不同的是,这些产品是商业性质的。Winpcap则是Window平台上为数不多的功能强大且可免费获得的包捕获接口软件之一,来源于BSD的网络数据包过滤器NPF是Winpcap的核心部分。BPF和NPF是效率较高、应用广泛的包捕获机制,在下一节的包捕获过滤模型中将对其进行详细介绍,常用的包捕获机制如下表所示:
  
  2 包捕获过滤模型
  
  通常,网络信息中会存在若干用户不关心的数据,或者称为垃圾数据,若此所占比重较大,将严重影响捕包系统的工作效率,造成系统丢包。为了解决此问题,人们引入了包过滤机制,包过滤机制在包捕获机制中占有重要的地位。实际上在理论研究和实际应用中,包捕获和包过滤从语意上并没有严格的区分,关键在于认识到捕获数据包必然有过滤操作。
 
  UNIX和Windows系统下的包捕获过滤机制分别是BPF和NPF,由于这样基于软件的数据包捕获机制便于发布且灵活性强,升级方便,因此,许多提供网络监视和分析的专业软件都是使用这种方式来实现的。我们之所以研究BPF和NPF的捕获过滤模型,就是为了通过深入地理解和运用模型的工作机制进行数据包的采集和过滤,从而开发出高效可靠的网络协议分析系统。下面将详细介绍这两种机制的参考模型。
  2.1 BPF参考模型BPF ( BerKeley Packet Filter)是基于BSD系统的包过滤模型,它使用了新的基于寄存器的过滤算法,效率比旧的算法提高了20倍,它的缓存机制对整体效率的提高有很大作用。

  BPF有两个主要部件,网络包监视(Network Tap)和网络包过滤(Packet Filter)。Network Tap从网络设备驱动程序中搜集数据拷贝并转发给过滤器。过滤器决定是否接收该数据包,以及接收该复制数据包的哪些部分(Slice 技术)。BPF过滤器的过滤功能是通过虚拟机(Pseudo Machine)执行过滤程序来实现的。过滤程序(Filter Program)实际上是一组过滤规则。过滤规则由用户定义,以决定是否接收数据包和需要接收多少数据。过滤过程可描述如下:当数据包到达网络接口时,链路层驱动程序将其提交到系统协议栈;如果BPF正在此接口监听,驱动程序将首先调用BPF,BPF将数据包发送给过滤器,过滤器对数据包进行过滤,并将数据提交给过滤器关联的上层应用程序;然后链路层驱动将重新取得控制权,将数据包提交给上层的系统协议栈处理。
  系统主要由三部分组成:Network Tap,BPF和Libpcap。Network Tap监视共享网络中的所有包,BPF用过滤条件匹配所有由Network Tap监视到的包,若匹配成功则将之从网卡驱动的缓冲区中复制到核心缓冲区。Libpcap是一个系统无关、采用分组捕获机制的分组捕获函数库,用于访问数据链路层。这个库为不同的平台提供了一致的编程接口,在安装了Libpcap的平台上,以Libpcap为接口写的程序、应用,能够自由的跨平台使用。大多数监听程序都使用它和内核部分进行通信。
  2.2 NPF参考模

[1] [2] 下一页

  • 上一个论文:

  • 下一个论文:
  • 推荐文章
    试论框架结构的常见质量问题
    浅谈铁路线路常见病害分析及
    浅谈数控机床常见故障的诊断
    浅谈拖拉机发动机常见故障排
    混凝土工程中常见裂缝及预防
    浅谈桥梁工程中混凝土施工常
    大学生求职面试最常见问题回
    生活中的常见魔鬼定律
    西瓜常见生理病害与防治
    浅谈框架结构的常见质量问题