4 Stimmen

USB-Proxy-Treiber oder äquivalente Lösung?

Problem: USB-Verkehr/Daten vermitteln

Ich möchte eingehenden Verkehr an einem bestimmten USB-Anschluss akzeptieren und genau als ausgehenden Verkehr an einem anderen spezifischen USB-Anschluss replizieren, um effektiv einen USB-Proxy zu realisieren. Darüber hinaus müssen die Verbindungen dann in beide Richtungen funktionieren. Eine weitere Anforderung ist, dass der Anschluss seine Identität (Hersteller-ID, Produkt-ID, ...) gegenüber einem externen Gerät fälschen können muss. Sollte die gegebene Lösung auch in der Lage sein, den Rohverkehr zu dumpen/loggen, wäre das fantastisch, aber keine Voraussetzung. Die Zielsysteme sind Windows und/oder Linux (jedes ist möglich).

Bevor ich mich auf eine epische Reise begebe und einen benutzerdefinierten Treiber schreibe, was ziemlich wahrscheinlich zu Hirnschäden führen würde, würde ich gerne fragen, ob jemand schon einmal etwas Ähnliches gemacht hat oder sich möglicherweise vorstellen könnte, welche Teile benötigt werden, um dieses Puzzle zusammenzusetzen. :)

3voto

unwind Punkte 377331

Ich glaube nicht, dass dies "out of the box" machbar ist, ohne zusätzliche Hardware.

Mit welcher Art von Gerät kann man erwarten, dass es an den "upstream"-Anschluss des Proxy angeschlossen wird? Wenn sich am "downstream"-Anschluss ein reguläres Gerät befindet (sagen wir eine Maus, nur als Beispiel), muss das Gerät am "upstream" ein USB-Host sein, um das USB-Gerät sinnvoll handhaben zu können.

Aber man kann den USB-Anschluss des Computers (der bereits der Host für alle seine USB-Root-Ports ist) nicht direkt mit einem anderen Computer verbinden, das wäre ein totaler Verstoß gegen die USB-Netzwerktopologie. Beide Anschlüsse enthalten +5 V-Stromschienen, und wenn man diese verbindet, besteht die Gefahr eines Stromschlags. Und/oder eines privaten Feuerwerks. Oder einem Ausflug zu Ihrem nächsten Motherboard- und/oder Netzteilhändler...

Außerdem, da USB ziemlich dynamisch ist und so weiter, glaube ich nicht, dass man erwarten kann, dass der Bitstrom von einem Anschluss aus, wenn er an einem anderen Anschluss wiederholt wird, sinnvoll ist, da sich Adressinformationen usw. ändern können.

Es gibt zu 100% Software-USB-Analysatoren, wie http://www.usblyzer.com/, aber ich bin mir bei Proxys wie von Ihnen beschrieben nicht so sicher.

2voto

gravitron Punkte 3414

Bei meiner Arbeit haben wir diesen Beagle USB-Analyzer verwendet. Er sitzt zwischen Gerät und Host und erfasst den gesamten Datenverkehr ohne Unterbrechung. Er funktioniert unter Windows und Linux und arbeitet sogar mit USB 2.0 Highspeed-Ports.

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

Sehr empfehlenswert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X