我想用我的Windows7 x64 PC作为通信中间人来开发一个通用串行总线协议分析仪。
使用嵌入式系统有时我有两个设备通过USB“对话”,我需要看看它们“说”了什么。
我的想法是将这两个设备连接到我的pc,并告诉我的应用程序这是通信中使用的两个端口。接下来,应用程序将侦听这两个端口,记录消息并将其重定向到另一个端口。
如果有一种方法可以使用原始usb数据来做到这一点,而不需要为这些USB设备安装驱动程序(其中一些设备没有Windows驱动程序),那将是完美的。
我有C#和Java知识,但其他语言也可以接受。
发布于 2012-02-01 03:58:29
您将需要使用像SnoopyPro (免费开源软件)这样的USB嗅探程序来获取数据。我不知道它是否有办法将捕获实况转发到您的程序中,但您可以保存捕获,然后在您自己的代码中进行后处理。只有当其中一个终结点是您的计算机时,这才能起作用。
如果你有两台从未使用过你的电脑的设备,你可能需要specialized hardware (最便宜的是400美元,它不能提供更高的传输速度,你需要1200美元的机型来做到这一点。)
发布于 2021-11-01 13:00:38
对于以太网数据:参考Linux的Netfilter架构,可以使用iptables和simple Module来修改数据包。这源于Linux内核开发人员在Netfilter上的五个钩点,可以帮助开发人员在不同阶段合理地操作数据包。似乎没有类似neifilter的钩子架构来处理USB数据。为了拦截和修改,这意味着你需要在设备<-->Host交互阶段在内核中嵌入你自己的程序。找到正确的位置并将您自己的内核代码放入其中以使其工作并不是一件简单的事情。
https://stackoverflow.com/questions/9085995
复制相似问题