web-dev-qa-db-fra.com

Comment intercepter les messages d'un périphérique USB sous Linux?

J'ai une tablette de dessin populaire que je connecte à mon PC avec USB. Une fois connectée, la tablette détecte les mouvements de la main et manipule le pointeur en conséquence. Quelque part, la tablette transmet ces données à mon ordinateur.

Mon objectif est d'intercepter ces transmissions et de manipuler la souris après avoir traité les données. Les mots à la mode que j'ai trouvés sont: pilotes de périphérique et [~ # ~] caché [~ # ~] , mais je n'ai pas pu reconstituer beaucoup plus que cela.

En supposant que cela soit possible, j'ai quelques questions:

  1. Comment cela se fait-il si le format des données est connu?
  2. Comment cela se fait-il si le format des données est inconnu/propriétaire?

Mon ordinateur exécute Ubuntu (mais les réponses liées à toute forme de système d'exploitation Linux sont grandement appréciées!).


Remarque: Cette question est similaire mais destinée à Windows.

24
sdasdadas

En fait, vous avez manqué un mot à la mode " Reniflement USB ". ; -)

Voici quelques tutoriels sur le reniflement USB sous Linux, pour vous aider à démarrer.

Essentiellement, vous utilisez le module de noyau Linux usbmon pour capturer les paquets USB et Wireshark en tant que frontal pour afficher et analyser le flux USB capturé.

30
TheCodeArtist