Puede capturar el tráfico USB con Wireshark.
De su wiki:
Para volcar el tráfico USB en Linux, necesita el usbmon
módulo, que existe desde Linux 2.6.11 . La información sobre ese módulo está disponible en /usr/src/linux/Documentation/usb/usbmon.txt
en el árbol de fuentes de Linux. Según la distribución que esté utilizando y la versión de esa distribución, ese módulo podría estar integrado en el kernel o podría ser un módulo cargable; si es un módulo cargable, dependiendo de la distribución que esté usando y la versión de esa distribución, podría o no cargarse para usted. Si es un módulo cargable y no está cargado, deberá cargarlo con el comando
modprobe usbmon
que debe ejecutarse como root.
Las versiones de libpcap anteriores a la 1.0 no incluyen compatibilidad con USB, por lo que necesitará al menos libpcap 1.0.0 .
Para versiones del kernel anteriores a la 2.6.21 , el único mecanismo de captura de tráfico USB disponible es un mecanismo basado en texto que limita la cantidad total de datos capturados para cada bloque USB sin formato a unos 30 bytes. No hay forma de cambiar esto sin parchear el kernel. Si debugfs aún no está montado en /sys/kernel/debug
, asegúrese de que esté montado allí emitiendo el siguiente comando como root:
mount -t debugfs / /sys/kernel/debug
Para la versión del kernel 2.6.21 y posteriores , existe un protocolo binario para rastrear paquetes USB que no tiene esa limitación de tamaño. Para esa versión del kernel, necesitará libpcap 1.1.0 o posterior , porque el soporte USB de libpcap 1.0.x usa, pero no maneja correctamente, el mecanismo de mapeo de memoria para el tráfico USB, que libpcap usará si está disponible; no se puede hacer que no esté disponible, por lo que libpcap siempre lo usará.
En libpcap 1.0.x, los dispositivos para capturar en USB tienen el nombre usbn
,donde n es el número del autobús. En libpcap 1.1.0 y posteriores, tienen el nombre usbmonn
.
También necesitará un Wireshark 1.2.x o posterior .