我想(A)在Windows下运行一些东西来窃听USB设备和windows之间的通信,这样我就可以(B)在Linux下写一些与USB设备通信的内容。任何人都可以推荐一个程序来做(A)吗?
答案 0 :(得分:4)
在Windows上观看USB流量的最佳选择是基于Snoopy Pro的USB Snoopy。
一旦转到实现Linux驱动程序,您将需要确保在内核中启用了usbmon,以便在Linux机器上获得相同的信息。
确保您的内核包含必要的组件:
$ cat /boot/config-`uname -r` | grep -P "CONFIG_USB_(MON|DEVICEFS)
CONFIG_USB_DEVICEFS=y
CONFIG_USB_MON=y
挂载usbmon文件系统并确保usbmon目录中有东西:
$ 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
使用lsusb查找您感兴趣的设备的总线编号:
$ 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
开始听你选择的公共汽车(我在下面的公共汽车4上听):
$ sudo cat /sys/kernel/debug/usbmon/4u > ~/Desktop/usbmon.txt
停止使用Control-C收集数据。
答案 1 :(得分:3)
答案 2 :(得分:2)