我想在虚拟微型端口驱动程序上添加多播支持。我有一个过滤驱动程序绑定(bind)到每个物理NIC上。根据微软文档https://msdn.microsoft.com/en-us/library/windows/hardware/ff569073(v=vs.85).aspx我开始添加支持多播地址:这些是我的步骤:在微型端口驱动程序中:在微型端口初始化期间,我在NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES中添加了MaxMulticastListSize=32。NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTESMiniportA
我是Windows驱动程序开发的新手,如果我的问题太愚蠢,请多多包涵。好吧,我不确定为什么,正如MSDN所建议的以及我所感知的那样,主机(例如开发驱动程序)和目标计算机(例如调试驱动程序)需要是两个独立的计算机。为什么这样分离?我确实尝试通过在我正在开发驱动程序的主机上部署和调试驱动程序来合并这两者,并且它似乎没有受到Windows的反对。谢谢。附言。像这样的来源http://msdn.microsoft.com/en-us/library/windows/hardware/hh698272(v=vs.85).aspx让我这么认为。 最佳答案
我正在尝试以编程方式编写C++代码来安装NDIS6.0轻量级筛选器驱动程序。在查看了WinDDK、在线示例和MSDN文档之后,我最终得到了下面的代码示例。(为清楚起见,跳过了错误处理)问题是INetCfgClassSetup::Install总是返回错误0x8004a024。(我在头文件中找不到错误代码。)使用相同的.inf文件手动安装驱动程序效果很好。来自WinDDK的Bindview示例可以很好地安装驱动程序,只要它采用调用INetCfgClassSetup::SelectAndInstall的路径。替代方案使用INetCfgClassSetup::Install的路径不起作用。我
我正在为WinPcap和Nmap开发Win7和Win8的NDIS6过滤器驱动程序。如您所知,Nmap是一种网络扫描仪。Nmap的一个要求是捕获本地主机数据包,如“ping127.0.0.1”,以便Nmap也可以测试本地机器本身。然而,本地主机数据包似乎只会在TCP/IP堆栈中返回,而不会到达NDIS层。有什么办法可以解决这个问题吗?比如添加环回适配器或什么?谢谢。 最佳答案 您需要WFP标注来捕获第3层环回数据包。TCPIP有一个快速环回路径,它永远不会到达NDIS中的第2层。 关于c-
安装微型端口驱动程序后,Wireshark不显示以太网接口(interface)。Wireshark显示“未找到接口(interface)”。但是MicrosoftMessageAnalyzer和NetMon可以定位适配器接口(interface)并显示捕获的数据包。但是如果我重新启动机器,Wireshark就能够找到该接口(interface)。我怀疑这是由于WinPcap和我的微型端口驱动程序之间的绑定(bind)问题。如果我错了请纠正我!我是否需要更改INF文件或查看OID请求部分,因为NPF过滤器(由WinPcap使用)无法处理微型端口驱动程序?关于,简森
背景:我需要创建一个NDIS过滤器中间驱动程序。该驱动程序将在收集元数据(主要是时间信息)的同时传递所有流量。驱动程序将通过插入自己的包含元数据的数据包并将它们向上传递到堆栈,将此信息导出到用户应用程序。我的问题是关于NDIS版本的。最终,我将不得不为WindowsXP和7编写一个驱动程序。但是目前,我只会将其中一个作为概念/原型(prototype)的证明来实现。我知道在NDIS6中,他们将过滤器功能从通用中间驱动程序中分离出来,成为一个单独的驱动程序类型(轻量级过滤器),以简化过滤器驱动程序的创建。Microsoft在DDK中为NDIS5和6提供了直通过滤器驱动程序的示例。我一直在
我正在尝试定义一些自定义事件查看器事件。我一直按照MSDN和其他一些在线资源中的说明进行操作,但事件查看器找不到关联的文本数据。这是我所做的:为带有事件代码和相关字符串的消息编译器创建了一个输入文件(遵循WDK串行驱动程序示例)。在主驱动程序资源文件(MyDriver.rc)中包含消息编译器生成的.rc文件。在相关驱动模块中包含消息编译器生成的头文件。使用NdisWriteErrorLogEntryAPI从包含的头文件中写入带有新ID的事件。将驱动程序二进制文件添加到标识事件源的Inf注册表字符串中:HKR,,EventMessageFile,0x00020000,"%%SystemR
我正在开发一个名为Npcap的Windows数据包捕获软件。并且它需要发送基于Windows内核的环回原始IP套接字。但是WskSocket->Dispatch->WskSendTo总是导致DRIVER_IRQL_NOT_LESS_OR_EQUALWin7SP1上的蓝屏。奇怪的是,我的代码不会在Win8、Win10等其他系统上触发此BSoD。它只发生在Win7。所以我什至怀疑这是Windows本身的错误还是只是我的错误?谢谢!重现步骤为:安装Npcap0.07r17使用默认选项安装Nmap7.20Beta5(不要安装随附的Npcap)在CMD中,运行nmap-v-O-6localhos
文章目录NDIS协议驱动开发指南1.技术概览2.NDIS协议驱动2.1BindAdapterHandlerEx2.2SendNetBufferListsCompleteHandler2.3ReceiveNetBufferListsHandler2.4ProtocolNetPnpEvent3.NET_BUFFER_LIST4.ndisprot实例5.总结NDIS协议驱动开发指南我们知道,在以太网中所有的数据包都是通过以太网帧来发送的;但是在网络上面的应用程序如果需要通过网络数据包交互,就需要依赖网络协议来保障通信。平时我们用的最多的协议就是TCPIP协议。其实在Windows中,我们可以注册自己
大家。我正在为WinPcap做一些改进。现在我已经将npf.sys驱动程序从NDIS5.0移植到NDIS6.0。这个驱动还有改进的空间吗,比如移植到LWF(Light-WeightFilter)或者WFP(WindowsFilterPlatform)?我们只是想确保使用更新更好的框架。还有一些问题:LWF好像是Vista时代的产物,现在微软已经不怎么提了,是这样吗?LWF或WFP驱动程序可以做NDIS协议(protocol)驱动程序可以做的事情吗?LWF或WFP与WDF(WindowsDriverFramework)有关系,还是同时兼容WDF和WDM框架?如果移植可行,难度如何,我之前