NDIS LWF网络过滤驱动开发(一):LWF简介及数据结构说明

本文介绍了NDIS LightWeight Filter (LWF)驱动的基本概念,它是一种网络过滤驱动,作为服务加载并位于协议层和网卡驱动之间,用于过滤和修改网络数据流。内容包括LWF的作用、系统中的位置以及数据结构NBL(NET_BUFFER_LIST)、NB(NET_BUFFER)和MDL的使用。代码示例展示了如何遍历和获取NB中的有效数据。
摘要由CSDN通过智能技术生成

写在之前:换工作了,做Win驱动开发,还是网络过滤驱动。之前从未接触过这些,只是做着单机的桌面应用程序,所以一切是从头开始。从驱动到网络,很多的不懂,一步步走来,现在多少有些进展了,现在就总结下这段过程.(驱动开发确实麻烦,现在看见蓝屏依然会心惊肉跳)

一.什么是ndis lwf驱动:

NDIS: Network Driver Interface Specification.就是微软的一套网络驱动接口规范,包含好几个部分。LWF只是其中的一小部分,属于过滤型驱动。虽然说它是驱动,其实在安装的时候还是以服务的形式加载。其实网络过滤型驱动有还有其他的方式,如IM中间层驱动,不过因为种种原因,可能是效率方面的考虑吧,微软已不再推荐使用IM驱动,WIN10上IM驱动是无法使用的,所以为了将来考虑,网络过滤型驱动还是选择LWF较好。不过LWF是无法在XP及以下的系统中使用的。

二.:LWF驱动能做什么:

简单说LWF驱动就是过滤网卡上网络数据流,由于是绑定在网卡上,所以得到的数据其实都是以太网的帧。所以得到这些数据后你就可以修改它们再进行传输,或者什么都不干。

LWF驱动在系统中的位置关系如下:

可以看到,lwf是在协议层和网卡驱动之间的驱动。所以在数据传输出去

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值