【问题标题】:USB proxy driver or equivalent solution?USB 代理驱动程序或等效解决方案?
【发布时间】:2011-06-09 06:57:10
【问题描述】:

问题:调解 USB 流量/数据

我想接受特定 USB 端口上的入站流量并将其完全复制为另一个特定 USB 端口上的出站流量,从而实现 USB 代理。那么,通过扩展,连接需要是双向的。另一个要求是端口必须能够伪造外部设备所看到的身份(供应商 ID、产品 ID……)。如果给定的解决方案也能够转储/记录原始流量,那将是非常棒的,尽管不是必需的。目标平台是 Windows 和/或 Linux(任何都可以)。

在开始一段史诗般的旅程并编写一个很可能导致脑损伤的自定义驱动程序之前,我想问一下是否有人做过类似的事情,或者可能想出组装这个拼图所需的部分。 :)

【问题讨论】:

    标签: c++ c usb driver kernel


    【解决方案1】:

    如果没有额外的硬件,我认为这是开箱即用的。

    您希望什么样的设备连接到代理的“上游”端口?假设“下游”端口上有一个常规设备(例如鼠标),则上游的设备需要是 USB 主机才能以有意义的方式处理 USB 设备。

    但是您不能将您计算机的 USB 端口(它已经是其所有 USB 根端口的主机)直接连接到另一台计算机,这完全违反了 USB 的网络拓扑。两个端口都包含 +5 V 电源轨,如果将它们连接在一起,您可能会感到震惊。和/或私人烟花汇演。或前往离您最近的主板和/或 PSU 零售商...

    另外,由于 USB 是非常动态的等等,我认为如果从另一个端口重复输出来自一个端口的比特流是没有意义的,因为地址信息等可能会改变。

    有 100% 的软件 USB 分析器,例如 http://www.usblyzer.com/,但我不太确定您所描述的代理。

    【讨论】:

    • +1:PC 上的所有 USB 端口都是主机端口,由于电气和协议原因,它们无法连接到其他主机端口
    • 是否可以使用某种硬件作为非主机端口?
    • 可能是 USB 集线器?
    【解决方案2】:

    在我的工作中,我们使用了这款 Beagle USB Analyzer。它位于设备和主机之间,可以不间断地捕获所有流量。它适用于 windows 和 linux,甚至可以使用 USB 2.0 高速端口。

    http://www.totalphase.com/products/beagle_usb480/

    强烈推荐。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      • 2020-07-26
      • 1970-01-01
      • 2011-05-20
      • 2020-09-07
      相关资源
      最近更新 更多