web-dev-qa-db-fra.com

Comment renifler un port USB sous Windows?

De temps en temps, je dois vider le trafic USB sous Windows, principalement pour prendre en charge le matériel sous Linux. Mon objectif principal est donc de produire des fichiers de vidage pour l'analyse de protocole.

Pour le trafic USB, il semble que SniffUsb soit le grand gagnant ... Il fonctionne sous Windows XP (mais pas plus tard) et possède une interface graphique beaucoup plus agréable que les versions précédentes. Il produit gigantesque fichier de vidage, mais tout est là.

Cependant, mon appareil étant en fait un périphérique série USB, je me suis donc tourné vers Portmon qui peut renifler le trafic du port série sans surcharge USB.

32
dpavlin

Personnellement, j'utiliserais QEMU ou KVM et j'instrumenterais leur code d'interface USB, puis j'utiliserais libusb pour prototyper le pilote de remplacement dans l'espace utilisateur avez déjà fait; écrire des pilotes de périphérique USB en Python est amusant!).

4
Charles Duffy
  1. Comme les gens ne semblent pas s'en rendre compte, Wireshark surveille le trafic USB et dispose d'un analyseur syntaxique; mais le problème est que cela ne fonctionne que sous Linux. Wireshark sous Windows ne le fera pas.

  2. Il peut être possible de connecter le périphérique USB que vous souhaitez surveiller, ainsi qu’une machine Linux (avec Wireshark en cours d’exécution) et votre ordinateur Windows, et d’utiliser le périphérique USB sous Windows.

  3. Problème avec ce qui précède? Je ne sais pas comment la machine Linux ou la machine Windows vont se détecter.

11
jamkomo

Après cinq ans d'attente, il est maintenant possible de renifler les paquets USB sur Windows

Voir http://desowin.org/usbpcap/tour.html pour un tour rapide. Ça marche plutôt bien

9
albfan

USBSnoop fonctionne aussi - et est gratuit.

Vous pouvez également acheter un convertisseur USB vers Ethernet et utiliser le renifleur réseau de votre choix pour consulter les données. 

5
gbjbaanb

Busdog, un projet open source hébergé sur github , a bien fonctionné pour moi. Il a un pilote qu'il installe pour lui permettre de surveiller les communications USB. La fenêtre de configuration vous permet de réinstaller ou de supprimer le périphérique à tout moment.

Vous pouvez sélectionner le périphérique USB souhaité dans une liste énumérée. Une fonctionnalité intéressante consiste à ce qu’il trace automatiquement un nouveau périphérique branché:

 Enumerated USB devices

Les communications de données avec et depuis un analyseur de TOS que j’étais en ingénierie inverse ont été parfaitement capturées:

 USB-to-serial port communications captured

0
Kurt Fitzner