Я не знаю точную терминологию. У меня есть USB-устройство, которое подключается к клиенту. Я хотел бы видеть трафик между двумя устройствами. Анализаторы трафика USB стоят больших денег. Поэтому я подумал, что, возможно, смогу подключить USB-устройство к компьютеру и подключить другой USB-кабель к клиенту. Затем компьютер может сидеть посередине и передавать трафик с устройства клиенту и наоборот и записывать трафик. Это возможно?

2 ответа2

3

В принципе да. USB асимметричный, есть хост и сторона устройства.

Вы не сказали, какие у вас устройства, поэтому давайте предположим, что они оба - черные ящики, в которые вы не можете заглянуть внутрь. (Если вы можете заглянуть внутрь, это станет легче). Это означает, что устройство A действует как USB-хост, а устройство B действует как USB-устройство (не знаю, каким образом это соответствует вашему описанию "устройство" и "клиент").

Таким образом, для перехвата трафика вам необходим компьютер, который действует как хост USB на одном порту (для подключения устройства B) и как устройство USB на другом порту (для подключения устройства A).

Обычный ПК обычно этого не делает, но есть встроенные устройства или другие компьютеры, которые делают это. Часто они имеют порты USB OTG ("на ходу"), которые могут выступать в качестве хоста и устройства.

После того, как вы нашли подходящий компьютер, вы легко можете настроить, например, Linux для пересылки трафика между ними, а затем отслеживать через usbmon . Я уверен, что это также может быть сделано с помощью других ОС.

Есть даже готовое программное обеспечение, такое как USBProxy, которое выполняет всю тяжелую работу, например, на Beagle Bone Black.

редактировать

Я не знаю общего имени для компьютеров с обоими типами USB-портов, я бы назвал "USB host" или "USB OTG" вместе с другими ключевыми словами. Одноплатные компьютеры - это класс компьютеров, которые, скорее всего, будут иметь оба вида. Упомянутая Beagle Bone Black стоит около 60 €, остальные будут в аналогичном ценовом диапазоне. Компьютеры с одним USB-портом (или одним портом, подключенным к внутреннему концентратору), например RaspberryPi, не будут работать, даже если поддерживается USB OTG.

Вы можете прочитать об USB OTG в Википедии, статья дает хороший обзор.

0

Вы можете взглянуть на "USB Redirector" от Incentives Pro.

http://www.incentivespro.com/

Они позволяют вам эмулировать USB-устройство на другом компьютере и передавать трафик между ними через TCP/IP. Вы могли бы быть в состоянии WireShark IP-трафика.

Удачи!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .