关于网络数据包捕获的探究_第1页
关于网络数据包捕获的探究_第2页
关于网络数据包捕获的探究_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、关于网络数据包捕获的探究     摘要:不同的操作系统实现的底层包捕获机制可能是不一样的,但从形式上看大同小异。数据包常规的传输路径依次为网卡、设备驱动层、数据链路层、网络层、传输层、最后到达应用程序。而包捕获机制是在数据链路层增加一个旁路处理,对发送和接收到的数据包做过滤、缓冲等相关处理,最后直接传递到应用程序。值得注意的是,包捕获机制并不影响操作系统对数据包的网络栈处理。对用户程序而言,包捕获机制提供了一个统一的接口,使用户程序只需要简单的调用若干函数就能获得所期望的数据包。这样一来,针对特定操作系统的捕获机制对用户透明,使用户程序有比较好

2、的可移植性。包过滤机制是对所捕获到的数据包根据用户的要求进行筛选,最终只把满足过滤条件的数据包传递给用户程序。    关键词:数据包,捕获    一、数据包捕获概述    计算机网络在传输数据时,为了保证所有共享网络资源的计算机都能公平、迅速地使用网络,通常把数据分割成若干小块作为传输单位进行发送,这样的传输单位我们通常称之为包,也叫“数据包”。目前有两种方法可以从网络中捕获数据包,一种是采用专用硬件,另一种是利用普通计算机与网络连接的通用硬件,网络适配器,即网卡,由软件来完成数据包的捕获。虽然由软件来捕

3、获数据包的方法在性能上比不上专用硬件,但其实现成本相对更低,且易于修改和更新。基于以上原因,采用软件的捕获方法得到了广泛的使用和认同。从网络捕获数据包是所有网络安全产品实现中非常重要的一环,它是安全产品其它功能的基础,而实现网络捕包的一个最重要的条件就是要能够接收网络上所有的数据包。要满足此条件就必须了解数据包在网络上的传输方式。计算机网络从传输方式的角度分为两类:采用点到点连接的网络和采用广播方式的网络。广域网中一般采用点到点连接方式,而几乎所有的局域网都以广播方式作为通信的基础,网上的站点共享信道,一个站点发出的数据包,其他站点均能收到,也就是说,任一台计算机都可以接收到网络中同一个共享域

4、的所有的数据通讯。    二、以太网捕获数据包的实现原理    在以太网上通讯的每张网卡上都拥有一个全球唯一的物理地址,也叫MAC地址。该地址是一个48比特的二进制数。在以太网卡中内建有一个数据包过滤器。该数据包过滤器的作用是保留以本身网卡的MAC地址为通讯目的的数据包和广播数据包,丢弃所有其它无关的数据包,以免CPU对无关的数据报作无谓的处理。这是以太网卡在一般情况下的工作方式。因此在正常情况下,一个合法的网络接口应该只响应这样的两种数据包(帧):1.帧的目标地址具有和本地网络接口相匹配的硬件地址。2.帧的目标地址是“广播地址”(代

5、表所有的接口地址),格式为“FF2FF2FF2FF2FF2FF”。在接收到上面两种情况的数据帧时,网卡通过CPU产生中断,操作系统进行中断处理后将帧中包含的数据传送给上层系统进行进一步处理。在其他情况下数据帧将被丢弃而不作处理。要想捕获到流经网卡的不属于本主机的数据,必须绕过系统正常工作的处理机制,直接访问网络底层。我们可以把网卡的状态设为“混杂”(promiscuous)模式,当网卡工作在这种“混杂”模式时,该网卡就具备了“广播地址”,它对所接收到的每一个帧都产生一个硬件中断以提醒操作系统处理流经该网卡上的每一个报文包。操作系统通过直接访问链路层,截获相关数据,由应用程序而非上层协议(如IP

6、层、TCP层)对数据过滤处理,这样就可以捕获到流经网卡的所有数据。    三、共享和交换以太网下的捕包    首先从TCP/IP模型的角度来看数据包在局域网内发送的过程:当数据由应用层自上而下地传递时,在网络层形成IP数据报,再向下到达数据链路层,由数据链路层将IP数据报分割为数据帧,增加以太网包头,再向下一层发送。需要说明的是,以太网的包头中包含着本机和目标设备的MAC地址,也就是说,数据链路层的数据帧发送时,是依靠48bits的以太网地址而非IP地址来确认的,以太网的网卡设备驱动程序不会关心IP数据报中的目的IP地址,它所需要的仅

7、仅是MAC地址。1.在共享以太网中捕包。共享式以太网的典型代表是使用10Base25的总线型网络和以集线器(HUB)为核心的星型网络。集线器工作在物理层。在使用集线器的以太网中,集线器将很多以太网设备集中到一台中心设备上,这些设备都连接到集线器中的同一物理总线结构中。从本质上讲,以集线器为核心的以太网同原先的总线型以太网无根本区别,集线器并不处理或检查其上的通信量,仅通过将一个端口接收的信号重复分发给其他端口来扩展物理介质。所有连接到集线器的设备共享同一介质,其结果是它们也共享同一冲突域、广播和带宽。因此集线器和它所连接的设备组成了一个单一的冲突域。如果一个节点发出一个广播信息,集线器会将这个

8、广播传播给所有同它相连的所有节点,因此它也是一个单一的广播域。当局域网内的主机通过HUB连接时,HUB的作用就是局域网上面的一个共享的广播媒体,所有通过局域网发送的数据首先被送到HUB,然后HUB将接收到的所有数据向它的每个端口转发。因此我们只要将某台主机的网卡设置为混杂模式,就可以接收到局域网内所有主机间的数据流量。2.在交换以太网中捕包。在交换式以太网中,交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。当有数据包发送到交换机时,交换机会将数据包中的目的MAC地址与自己维护的MAC地址2端口映射表中的数据进行对照,然后将数据包发送到对应的端口上。对

9、交换机而言,仅有两种情况会发送广播,一是数据包的目的MAC地址不在交换机维护的数据库中,此时数据包向所有端口转发,这一过程称之为泛洪(flood);二是数据包本身就是广播包。不同于工作在物理层的集线器,交换机是工作在数据链路层的。由于端口间的传递的数据帧彼此屏蔽,因此节点就不担心自己发送的帧在通过交换机时是否会与其他节点发送的帧产生冲突。交换机将冲突隔绝在每一个端口(每个端口都是一个冲突域),避免了冲突的扩散。因此,基于交换机以太网建立的局域网并不是真正的广播媒体,交换机限制了被动监听工具所能截获的数据。    参考文献:1王电.包捕获型网络计费系统J.杭州电子科技大学学报,2005,(06):60264.2赵树升,范刚龙,张焕剑.一种Windows网络嗅探器的检测原理与实现J.郑州大学学报(理学版),2005,(03).3申志,赵跃龙,申强.一种分布式网络管理监控系统的研究与开发J.计算技术与自动化,2006,(01

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论