我有一个设备,当某个应用程序打开时,它会向该应用程序发送数据。我需要嗅探该数据并检索未显示的某些信息。该设备是定制的,由于这样或那样的原因,没有数据表。因此,必须嗅探通信并重建从应用程序发送到此设备的命令。所以我想用C#或C++来完成这项工作。现在,我已经尝试了所有的嗅探软件,是的,他们会嗅探它,但我希望能够实时获取数据,并将其实时呈现。
谢谢
发布于 2011-07-08 04:30:39
最简单的方法是将您的软件放在设备和其他软件之间。然后,遍历所有数据,捕获您需要的任何内容。
为此,您需要使用串行端口环回软件。外面有很多这样的东西。参见http://www.virtual-serial-port.com/virtual-serial-port-kit.html。我个人使用过GPSGate的产品,但我相信free loopback drivers available是有的。
更复杂(但更被动!)方法是监测IOCTL。我不能指导您如何做到这一点,因为我不知道,但这是值得研究的东西。http://www.serial-port-monitor.com/的软件使用这种方法。
发布于 2011-07-08 04:43:39
为您提供虚拟串行端口的替代软件是com0com (http://com0com.sourceforge.net/)。但是,它还具有集线器功能,可以将设备的输出发送到许多应用程序,这可能对您有用,也可能对您没有帮助,这取决于您是只需要监视设备的输出还是双向监视。
如果没有其他东西,它可能会给你一些开放源码,如果你沿着设备过滤器路线走下去,你自己的嗅探器就可以作为基础。但如果你走这条路,你可能需要看看驱动程序签名,如果你需要它在64位版本的Windows7上工作。
https://stackoverflow.com/questions/6616732
复制相似问题