有通过1Gbit以太网连接到PC的设备。WinXP/7我想以以下方式捕获数据:
我不知道如何实现这一点。有NIC司机。有NDIS。用户应用程序能与NDIS通信吗?我是否需要编写额外的驱动程序来与NDIS通信?
发布于 2012-09-19 23:24:41
你的问题真的有两部分:
第一个问题有两种可能的解决方案,取决于您的设备是否接受封装在IPv4 4/IPv4 6中的命令,或者它是否需要其他一些低级协议。如果设备接受封装在IPv6 4/IPv6 6中的命令,那么只需使用您喜欢的编程语言中的套接字API即可。
如果设备需要自己的非IP协议,则需要添加NDIS协议驱动程序。Windows中包含了一个示例协议驱动程序;该驱动程序实际上打开了一个通道,允许用户模式应用程序发送任何类型的数据包。(这将是一个安全问题,如果它被广泛部署,这就是为什么它不是操作系统的内置特性。)您可能需要修改协议驱动程序,以便只选择性地侦听来自设备的控制消息。
第二个问题--包捕获--已经解决了。您应该能够将现有的软件从货架上取出,并将其集成到您的解决方案中。Microsoft网络监视器有一个API,您可以使用该API轻松启动/停止数据包捕获,并迭代捕获的结果。或者,有些人使用WinPcap。
https://stackoverflow.com/questions/12495211
复制相似问题