如何拦截Linux上USB设备的消息?

sda*_*das 24 linux usb tablet linux-device-driver

我有一个流行的绘图板,我用USB连接到我的电脑.连接后,平板电脑会检测手部动作并相应地操纵指针.平板电脑正在某处将这些数据传输到我的电脑.

我的目标是在处理数据后拦截这些传输并操纵鼠标.我发现的流行语是:设备驱动程序HID,但我还没有能够拼凑到更多.

假设这是可能的,我有几个问题:

  1. 如果数据格式已知,如何完成?
  2. 如果数据格式未知/专有,如何完成?

我的电脑正在运行Ubuntu(但是非常感谢与任何形式的Linux操作系统相关的答案!).


注意:此问题类似,但适用于Windows.

The*_*ist 31

实际上你错过了一个流行语" USB嗅探 ".;-)

这里有一些关于Linux上USB嗅探的教程,可以帮助您入门.

基本上,您使用usbmonLinux内核模块捕获USB数据包,使用Wireshark作为前端来显示和分析捕获的USB流.

  • 我终于开始这样做了,效果很好,再次感谢。但我遇到的问题是,这仍然无法阻止消息到达操作系统(并随后移动鼠标)。我想找到一种方法来完全防止这种情况发生。 (2认同)
  • @sdasdadas 您可以尝试使用 `xinput` http://askubuntu.com/questions/160945/is-there-a-way-to-disable-a-laptops-internal-keyboard 禁用它 (2认同)

ray*_*imi 5

添加另一个有用的资源:usbmon 的内核手册

您可以在 Debian Linux 上使用以下命令,使用 usbmon 内核内置的 USB 监控以文本格式查看 usbmon 的调试日志:

  • $sudo -i使用根
  • #modprobe usbmon
  • #ls /sys/kernel/debug/usb/usbmon查看总线插座
  • #cat /sys/kernel/debug/usb/devices查看每个总线插座上的设备
  • #cat /sys/kernel/debug/usb/usbmon/<bus socket>查看或者您可以使用以下命令将标准输出路由到文件>