Hacking USB Devices: Are There Programs?

I would like to (A) run something under windows to eavesdrop on communication between a USB device and windows, so I can (B) write something to communicate with a USB device under Linux. Can anyone recommend program (A)?

+2


source to share


3 answers


Your best bet for viewing USB traffic on Windows is Snoopy Pro , based on USB Snoopy .

Once you get into implementing your Linux driver, you will want to make sure usbmon is enabled in your kernel, so you can get the same information in your Linux box.

Make sure your kernel contains the required components:

$ cat /boot/config-`uname -r` | grep -P "CONFIG_USB_(MON|DEVICEFS)
CONFIG_USB_DEVICEFS=y
CONFIG_USB_MON=y

      

Install the usbmon filesystem and make sure there are files in the usbmon directory:

$ sudo mount -t debugfs none_debugs /sys/kernel/debug
$ ls /sys/kernel/debug/usbmon/
0s  0u  1s  1t  1u  2s  2t  2u  3s  3t  3u  4s  4t  4u  5s  5t  5u  6s  6t  6u

      



Use lsusb to find the bus number of the device you are interested in:

$ lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 045e:00d1 Microsoft Corp. Optical Mouse with Tilt Wheel
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 0a5c:2110 Broadcom Corp. Bluetooth Controller
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

      

Start listening on your chosen bus (I'm listening on bus 4 below):

$ sudo cat /sys/kernel/debug/usbmon/4u > ~/Desktop/usbmon.txt

      

Stop collecting data with Control-C.

+4


source


You may try:

usbsnoop



and

usbsnoopy

+3


source


+2


source







All Articles