首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用计算机作为USB通信中间人

利用计算机作为USB通信中间人
EN

Stack Overflow用户
提问于 2012-02-01 03:55:33
回答 2查看 818关注 0票数 1

我想用我的Windows7 x64 PC作为通信中间人来开发一个通用串行总线协议分析仪。

使用嵌入式系统有时我有两个设备通过USB“对话”,我需要看看它们“说”了什么。

我的想法是将这两个设备连接到我的pc,并告诉我的应用程序这是通信中使用的两个端口。接下来,应用程序将侦听这两个端口,记录消息并将其重定向到另一个端口。

如果有一种方法可以使用原始usb数据来做到这一点,而不需要为这些USB设备安装驱动程序(其中一些设备没有Windows驱动程序),那将是完美的。

我有C#和Java知识,但其他语言也可以接受。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-01 03:58:29

您将需要使用像SnoopyPro (免费开源软件)这样的USB嗅探程序来获取数据。我不知道它是否有办法将捕获实况转发到您的程序中,但您可以保存捕获,然后在您自己的代码中进行后处理。只有当其中一个终结点是您的计算机时,这才能起作用。

如果你有两台从未使用过你的电脑的设备,你可能需要specialized hardware (最便宜的是400美元,它不能提供更高的传输速度,你需要1200美元的机型来做到这一点。)

票数 1
EN

Stack Overflow用户

发布于 2021-11-01 13:00:38

对于以太网数据:参考Linux的Netfilter架构,可以使用iptables和simple Module来修改数据包。这源于Linux内核开发人员在Netfilter上的五个钩点,可以帮助开发人员在不同阶段合理地操作数据包。似乎没有类似neifilter的钩子架构来处理USB数据。为了拦截和修改,这意味着你需要在设备<-->Host交互阶段在内核中嵌入你自己的程序。找到正确的位置并将您自己的内核代码放入其中以使其工作并不是一件简单的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9085995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档