写在之前:换工作了,做Win驱动开发,还是网络过滤驱动。之前从未接触过这些,只是做着单机的桌面应用程序,所以一切是从头开始。从驱动到网络,很多的不懂,一步步走来,现在多少有些进展了,现在就总结下这段过程.(驱动开发确实麻烦,现在看见蓝屏依然会心惊肉跳)
一.什么是ndis lwf驱动:
NDIS: Network Driver Interface Specification.就是微软的一套网络驱动接口规范,包含好几个部分。LWF只是其中的一小部分,属于过滤型驱动。虽然说它是驱动,其实在安装的时候还是以服务的形式加载。其实网络过滤型驱动有还有其他的方式,如IM中间层驱动,不过因为种种原因,可能是效率方面的考虑吧,微软已不再推荐使用IM驱动,WIN10上IM驱动是无法使用的,所以为了将来考虑,网络过滤型驱动还是选择LWF较好。不过LWF是无法在XP及以下的系统中使用的。
二.:LWF驱动能做什么:
简单说LWF驱动就是过滤网卡上网络数据流,由于是绑定在网卡上,所以得到的数据其实都是以太网的帧。所以得到这些数据后你就可以修改它们再进行传输,或者什么都不干。
LWF驱动在系统中的位置关系如下:
可以看到,lwf是在协议层和网卡驱动之间的驱动。所以在数据传输出去