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

我有一个stream行的绘图平板电脑,我用USB连接到我的电脑。 一旦连接,平板电脑检测到手部移动并相应地操作指针。 平板电脑正在将这些数据传输到我的电脑。

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

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

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

我的电脑正在运行Ubuntu(但非常感谢与任何forms的Linux操作系统有关的答案)。


注:这个问题是相似的,但用于Windows。

其实你错过了一个流行语“ USB嗅探 ”。 😉

下面是Linux上USB嗅探的一些教程,以帮助您入门。

  • 官方的Wireshark维基USB监测
  • biot.com/blog/usb-sniffing-on-linux(InternetArchive)
  • tjworld.net/wiki/Linux/Ubuntu/USBmonitoring

本质上,您使用usbmon Linux内核模块来捕获USB数据包和Wireshark作为前端,以显示和分析捕获的USB数据流。