Как перехватить сообщения с USB-устройства в Linux?

У меня есть популярный планшет для рисования, который я подключаю к компьютеру с USB. После подключения планшет обнаруживает движения рук и соответственно манипулирует указателем. Где-то планшет передает эти данные на мой компьютер.

Моя цель - перехватить эти передачи и манипулировать мышью после обработки данных. Найденные ключевые слова: драйверы устройств и HID, но я не смог собрать их намного больше.

Предполагая, что это возможно, у меня есть несколько вопросов:

  • Как это делается, если известен формат данных?
  • Как это сделать, если формат данных неизвестен/проприетарен?

Мой компьютер работает под управлением Ubuntu (но ответы, относящиеся к любой форме ОС Linux, очень ценятся!).


Примечание. Этот question похож, но предназначен для Windows.

Ответ 1

На самом деле вы пропустили модное слово " USB sniffing". ; -)

Вот несколько руководств по USB-обнюхиванию на Linux, чтобы вы начали.

По сути, вы используете модуль ядра usbmon для захвата USB-пакетов и Wireshark в качестве интерфейса для отображения и анализа захваченного потока USB.