Windows WinUSB应用程序或用户模式驱动程序作为USB分析/嗅探/趋势分析的过滤器驱动程序

Windows WinUSB应用程序或用户模式驱动程序作为USB分析/嗅探/趋势分析的过滤器驱动程序,windows,usb,driver,sniffer,Windows,Usb,Driver,Sniffer,对于一些广泛使用WinUSB API或用户模式USB驱动程序的人来说,这是一个问题-WinUSB API或用户模式驱动程序是否可以用作USB连接的被动观察者,在不干扰其他应用程序(如iTunes)的情况下捕获中断通知、控制请求、数据传输等在我的应用程序监视连接并在其上显示数据的同时,这显然需要并发访问设备 或者,为了实现这一点,您几乎必须编写内核模式过滤器驱动程序并将自己注入USB堆栈中吗 过去,有一些可信的选项(LIUBB-Win32和UBSoNOP是特定的),虽然它们都是建立在旧DDK上的,

对于一些广泛使用WinUSB API或用户模式USB驱动程序的人来说,这是一个问题-WinUSB API或用户模式驱动程序是否可以用作USB连接的被动观察者,在不干扰其他应用程序(如iTunes)的情况下捕获中断通知、控制请求、数据传输等在我的应用程序监视连接并在其上显示数据的同时,这显然需要并发访问设备

或者,为了实现这一点,您几乎必须编写内核模式过滤器驱动程序并将自己注入USB堆栈中吗


过去,有一些可信的选项(LIUBB-Win32和UBSoNOP是特定的),虽然它们都是建立在旧DDK上的,而不是Windows驱动程序基础的,并且实际上不再真正支持。因此,我很犹豫是否要围绕它们构建一些有意义的东西。

您必须编写一个过滤器驱动程序。没有其他方法可以拦截其他设备生成的流量。您可以使用较新版本的DDK,即KMDF来完成此任务。这会让你的生活更轻松。但我认为,只要有一个硬件总线分析仪,它就会更便宜、更有效


有。您必须登录才能阅读此文章,但如果要进行任何内核模式开发,我强烈建议您无论如何都要登录。

Windows 7中的核心USB驱动程序具有ETW跟踪点,因此您可以通过这种方式嗅探流量(博客文章),但这有点麻烦,并且有一些限制,例如仅跟踪每个数据包的前32个字节


我制作了一个USB过滤器驱动程序(KMDF),非常易于使用(IMHO):

USB嗅探器允许您显示、记录和分析连接到PC和应用程序的任何USB设备之间传输的所有数据。您还可以恢复传输的数据(对于某些文件类型)

生成的项目包括以下组件:驱动程序、公共库、GUI。

我想得越多,就越觉得不可能。我可能需要在内核中安装一个过滤器驱动程序……你有什么进展吗?哦,原来是你的驱动程序!它使我的系统崩溃了,我花了9个小时修复操作系统。这是最新版本吗?