tcpdump a dispositivo USB

Hoy voy a escribir de algo que no suele ser lo habitual, pues muchos de nosotros pensamos que no tiene demasiado sentido, pero según qué cosas pretendamos hacer, puede tenerlo o no.
tcpdump, esa maravillosa herramienta que nos permite capturar los datos que viajan por nuestra tarjeta de red, tras ponerla en modo monitor, tiene otras muchas utilidades menos conocidas. Una de ellas, es la de poder capturar tráfico de interfaces USB. Sí, capturar aquellas cosas, ficheros, datos, comandos, etc. que pasan a través de un puerto USB. Por defecto, tcpdump soporta los siguientes interfaces, en el caso de mi equipo.
shell> tcpdump -D
1.eth0
2.any (Pseudo-device that captures on all interfaces)
3.lo
Como podemos observar, son tarjetas de red, pero no puertos USB. Para habilitar la captura de tráfico USB, hay primeramente que cargar el el módulo usbmon, tal como sigue,
shell> modprobe usbmon
Si ahora comprobamos nuevamente en qué interfaces se puede poner a la escucha tcpdump, vemos que ya hay nuevas interfaces, los puertos USB.
shell> tcpdump -D
1.eth0
2.usbmon1 (USB bus number 1)
3.usbmon2 (USB bus number 2)
4.usbmon3 (USB bus number 3)
5.usbmon4 (USB bus number 4)
6.usbmon5 (USB bus number 5)
7.any (Pseudo-device that captures on all interfaces)
8.lo
Si ahora interesa escuchar en alguno de los puertos, únicamente hay que especificar en cual. El funcionamiento es el mismo que bajo una tarjeta de red.
shell> tcpdump -nni usbmon2
Puede que al ejecutarlo obtengamos un fallo como éste,
shell> tcpdump -nni usbmon2
tcpdump: packet printing is not supported for link type USB_LINUX_MMAPPED: use -w
Lo solucionamos como nos indica ahí, mandando la salida a un fichero con la opción -w.
shell> tcpdump -w file_usb2 -nni usbmon2

¿Tiene utilidad?
A priori poder sniffar un puerto USB no tiene especial sentido, a no ser que nos interese investigar qué es lo que hacen determinados dispositivos hardware cuando suceden determinados eventos. Por ejemplo, algo similar a ésto se hizo para conseguir la primera versión de los driver's libres del kinect.
Así que ya sabes, si te interesa investigar qué es lo que pasa por "la red de tu USB", lo puedes hacer.






No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios