网站地图
范文同学网


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

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

联系方式

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

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

免费数据包截获技术的研究与实现(三)

本文ID:LW6232 ¥
bsp;在实际的系统中,数据的收发由网卡来完成,网卡的主要工作原理是整理计算机发往网线上的数据,并将数据包发送出去。当网卡接收到传输来的数据时,根据接收数据帧的目的MAC地址和网卡驱动程序设置的接收模式进行判断,对需要接收的就产生中断信号送CPU,然后由操作系统调用驱动程序进行接收;认为不该接收的就丢弃不..
bsp;在实际的系统中,数据的收发由网卡来完成,网卡的主要工作原理是整理计算机发往网线上的数据,并将数据包发送出去。当网卡接收到传输来的数据时,根据接收数据帧的目的MAC地址和网卡驱动程序设置的接收模式进行判断,对需要接收的就产生中断信号送CPU,然后由操作系统调用驱动程序进行接收;认为不该接收的就丢弃不管,所以不该接收的数据在网卡处就截断了。对于网卡来说一般有四种接收模式:
 (1)广播方式(Broadcast):能够接收网络中的广播信息。
 (2)组播方式(Multicast):网卡能够接收组播数据,也就是一个人发出的包可以同时被其他多个有资格的人接收,这些人就形成了一个组,他们在组内的通信是广播式的。
 (3)直接方式(Directory):只有目的网卡才能接收该数据。
 (4)混杂模式(Promiscuous):能够接收一切通过网卡的数据。
 网卡的缺省工作模式包含广播模式和直接模式,即它只接收广播帧和发给自己的帧,而网络数据包截获程序一般采用第4种模式。
 2.3数据包截获实现基础
 以太网数据帧是一组比特流,它们在传输介质上进行传输,从而实现信息的传递。以太网帧格式符合IEEE802.3标准,帧中包含目的地址和源地址,目的地址最高位为0是普通地址,为1时是组地址。当一个帧送到组地址时,组内的所有站点都会收到该帧。如果将它送到一个普通地址,一般情况下,只有一个站点收到这个帧,但是,以太网是以广播方式发送帧的,也即这个帧会传播到其所在网段内的所有站点,只不过该站点不会接收目的地址不为本机地址的帧。为了截获网段内的所有帧(以后称数据包),可以设置以太网卡的工作方式,以太网卡通常有正常模式(normal mode)和混杂模式(promiscuous mode)两种工作模式。在正常模式下,网卡每接收到一个到达的数据包,就会检查该数据包的目的地址,如果是本机地址和广播地址,则将接收数据包放入缓冲区,其它目的地址的数据包则直接丢掉。因此,正常模式下主机仅处理以本机为目的的数据包,网卡如果工作在混杂模式,则可以接收本网段内传输的所有数据包。如果要进行数据包截获,必须利用网卡的混杂模式,获得经过本网段的所有数据信息。
   2.4网络数据截获
 网络数据截获主要利用系统提供的协议编程接口来实现,Windows sockets是在Windows环境下使用的一套网络编程规范简称为Winsock。在windows环境下Winsock API依靠套接口(Socket)进行通讯。通信时,数据首先被写入本地主机的socket中,然后该socket通过网络接口卡(NIC)的传输介质将传来的信息发送到另一台主机的socket中如图4所示

图4 网络数据截获原理图
 套接口有三种类型:流式套接口、数据报套接口和原始套接口。前两种套接字只能访问到传输层。也就是说只能接收自己硬件地址相匹配的或是以广播形式发出的数据帧,对于其他形式的数据帧比如已到达网络接口但却不是发给此地址的数据帧,网络接口在验证投递地址并非自身地址之后将引起响应。而原始套接口允许对网络层协议如(IP或ICMP)进行直接访问,对于流经网卡的所有数据都可以接收到。原始套接字截获到的数据包并不仅仅是单纯的数据信息,而是包含有IP头、TCP头等信息头的最原始的数据信息,通过对这些在低层传输的原始信息的分析可以得到有关网络的一些信息。
3数据包截获机制的研究
 3.1 概述
 纵观国内外在数据包截获技术中所使用的包截获机制的方法,大致可归纳为两类:一类是由操作系统内核提供的截获机制;另一类是由应用软件或系统开发包通过安装包截获驱动程序提供的截获机制,该机制主要用于Win32平台下的开发。操作系统提供的截获机制主要有四种:BPF(Berkeley packet Filter),DLPI (Data Link Provider Interface),NIT(Network Interface Tap), Sock Packet类型套接口。BPF由基于BSD的Unix系统内核所实现。DLPI是Solaris(和其它System V Unix)系统的内嵌子系统。从性能上看, Sock Packet最弱。Windows操作系统没有提供内置的包截获机制。它只提供了数量很少并且功能有限的API调用。WinPcap(Windows Packet Capture)是Win32上的第一个用来截获数据包的开放系统软件包,它是一种新提出的强有力并且可扩展的框架结构。WinPcap包含了一系列以前系统所没有的创新特性。本文将对目前比较流行的WinPcap软件包提供的截获机制进行简单介绍。
 3.2 WinPcap数据包截获机制
 WinPcap的体系结构如图5所示:

图5 Winpcap的体系结构
 由WinPcap体系结构图可以看出它采用的是分层化的驱动程序模型,并包含有三个组件:
 1.内核级的数据包截获驱动程序
 2.低级的动态连接库(Packet.dll)
 3.高级系统无关库(Wpcap.dll)
 WinPcap(Windows Packet Capture)是由微软资助的一个项目,其核心仍是基于NDIS的,但它对NDIS进行封装,它是Windows平台下一个免费、公共的网络访问系统,它为win32应用程序提供访问网络底层的能力.它提供了以下的各项功能:
 1.截获原始数据报,包括在共享网络上各主机发送/接收以及相互之间交换的数据报;
 2.在数据报发往应用程序之前,按照自定义的规则将某些特殊的数据报过滤掉;
 3.在网络上发送原始的数据报;
 4.收集网络通信过程中的统计信息。
 在Windows NT下WinPcap包截获驱动和网卡设备驱动的交互是通过NDIS(Network Device Interface Specification)来实现的。而且包截获驱动既与网络驱动通信又与用户应用程序通信,所以它在NDIS结构中如同一个协议驱动,对WindowsNT操作系统中的NDIS结构中的高端驱动进行编程,这样编制的程序与上层应用程序更容易连接,应用程序对驱动设置的工作也更方便。如图6所示:

 图6 数据包截获驱动在NDIS中所处位置
 3.3 套接字数据包截获机制
 上世纪80年代初,加利福尼亚大学Berkeley分校在UNIX操作系统下实现了TCP/IP协议,它们为TCP/IP网络通信开发了一个应用程序接口(API),这个API称为socket(套接字)接口。Socket给程序员提供了一个高层接口,它的出现使得程序员在编写网络应用程序时只需要调用函数,对网络的底层细节并不需要精通,因此十分方便。
 socket实质上是提供了进程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则是没有办法建立联系并相互通信的。正如打电话之前,双方必须拥有各自的电话机一样。
&nb

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

免费数据包截获技术的研究与实现(三)相关范文
上一篇:免费手机吞吃蛇游戏的设计与开发 下一篇:免费网上战友录的设计与实现
点击查看关于 数据 截获 技术 研究 实现 的相关范文题目 【返回顶部】
精彩推荐
电气工程自动化原创范文  电子商务原创文章范文
人力资源专业原创文章范文 土木工程原创文章范文
工商管理专业原创范文    药学专业原创范文
汉语言文学专业原创范文  会计专业原创文章范文
计算机技术原创文章范文  金融学原创文章范文
法学专业原创文章范文   市场营销专业原创范文
信息管理专业原创文章范文 学前教育专业原创范文
公共事业管理专业原创范文 英语专业原创范文
教育管理专业原创范文   行政管理专业原创范文
热门范文

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


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

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

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