网络驱动应用开发

关键词 DDK  NDIS  TCP/IP
    

       本文主要讲的是使用Microsoft提供的DDK(Windows Driver Development Kit )来开发基于网络应用包括数据包抓取,过滤,及其防火墙实现。同时涉及到其他方面如VPN,VLAN,NAT方面的应用有兴趣的朋友可以参考相关文档。在这里阐述的是基于 XP环境下开发的。使用Windows Driver Development Kit XP. 其DDK应用的方面还包括USB驱动,文件系统驱动,流煤体方面的等。他们都是基于内核模式的驱动。

首先简要介绍下各个工具及其作用如下:
     1 Windows Driver Development Kit for XP主要用来编写内核模式驱动。在以下我们就用DDK来简称。Microsoft DDK提供的有基于Windows98,Windows 2000 WindowsXP 平台的版本。适合于不同系统环境下的开发。他们之间几乎不做改动,实现原代码兼容的跨越平台性,只要在不同环境下,重新编译既可。详细描述参考相关的DDK Doc.

    2 NDIS 它的英文全称为 Network Driver Interface Specify(网络驱动接口标准)。是Microsoft定义的一套关于网络方面驱动开发的接口标准。开发者使用它,可以开发出需要的网络应用,比如防火墙,包过滤 数据加密,VPN,VLAN等应用。在一般的包过滤的网络应用软件中,它使用的是winsocket的接口来实现。但是它的缺点是不能过滤所有的。防火墙也是如此。通过NDIS提供的接口,它可以编写基于内核的驱动。来实现数据包抓取。具体的原理请有兴趣的朋友参考 NDIS的相关部分。我们在以下的文章介绍中会给出实际的事例来实现低层的数据包过滤等。如卡巴7.0在安装后,在网络协议中使用了NDIS的 Intermediate Driver中间层过滤驱动。

    3 TCP/IP协议,我想这个就不用我在此多叙述了。对整个协议族的了解,每层数据封装的格式,都有个比较清楚的了解。是为我们后边实现相关数据结构,极其Packet的解析重中之重。

    4 数据结构主要用来定义操作过程中需要用到的数据结构。如链表,堆栈等

    5 C language,VC6.0,C++的熟悉。C主要用来编写内核驱动,以便实现平台的移植性。VC6.0主用用来开发与用户接口部分。

    6 Windows系统体系结构,操作系统基础理论。分层驱动结构,驱动的体系结构都有大致的了解。

在此,我们把开发需要的大部分需要的重点极其相关技术都已经介绍拉。以下我们会深入的介绍,并通过具体的一个Sample来贯穿我们的整个开发过程。并对每个细节部分涉及到的其他方面的知识,技术都会做比较详细的介绍与分析。
我们会在接下来不段的深入探索其中的原理极其实现,如果你做好了准备或者有兴趣可以随时关注。由于时间和工作的需要,有可能在文章结构,逻辑上有些不是很尽人意的地方,望多多包含。同时让我们一起探讨,互相学习。同时有很多阐述不对的地方望大家能提出,批评指正。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值