Beagleboard USB Packet sniffer

1

Había recogido un beagleboard hace unas semanas y luego había examinado el proyecto de sniffer USB que se había creado hace un tiempo. ( enlace )

Entiendo que el proyecto se basa en un controlador proxy en el que se registra como un dispositivo USB / controlador de dispositivo y reenvía los datos entre ambos mientras se registran.

La pregunta que tengo es cómo se hace esto sin interferir realmente con los datos que se envían a través de las dos interfaces (el beagleboard es invisible entre las dos interfaces).

Saludos

    
pregunta aaamod

1 respuesta

2

Es un poco más complicado que simplemente reenviar los paquetes USB en bruto entre las dos interfaces, y no es completamente transparente para el host USB.

El BeagleBoard realmente necesita comportarse como un concentrador USB de un solo puerto, que es como el host USB lo ve. Luego, cuando conecta el dispositivo USB a BeagleBoard, el host puede enumerarlo a través de BeagleBoard como si lo hubiera conectado a cualquier otro hub común. Pero ahora el software en el BeagleBoard tiene la oportunidad de copiar y / o grabar los paquetes USB a medida que fluyen a través de este "centro virtual".

Por lo tanto, no es exactamente como conectar el dispositivo directamente al host, pero le brinda suficiente visibilidad para depurar el 99.9% de los problemas de USB. Pero hay algunos casos de esquina, generalmente relacionados con el proceso de enumeración en sí, con los que esto no puede ayudarlo. Para eso, necesitas un verdadero analizador USB.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas