Come annusare una porta USB sotto Windows?
Domanda
Di tanto in tanto, devo scaricare il traffico USB su Windows, principalmente per supportare l'hardware su Linux, quindi il mio obiettivo principale è quello di produrre file di dump per l'analisi del protocollo.
Per il traffico USB, sembra che SniffUsb è il chiaro vincitore ... Funziona con Windows & nbsp; XP (ma non in seguito) e ha una GUI molto più bella rispetto alle versioni precedenti. Produce enormi file di dump, ma è tutto lì.
Tuttavia, il mio dispositivo è in realtà un dispositivo seriale USB, quindi sono passato a Portmon che può annusare il traffico della porta seriale senza l'overhead USB.
Soluzione
Personalmente, userei QEMU o KVM e strumento il loro codice passthrough USB, quindi utilizzare libusb per prototipare il driver sostitutivo nello spazio utente (quest'ultimo bit l'ho già fatto prima; scrivere driver di dispositivo USB in Python è divertente!).
Altri suggerimenti
-
Dato che le persone non sembrano rendersene conto, Wireshark monitora il traffico USB e ha un parser per questo; ma il problema è che funziona solo con Linux. Wireshark su Windows non lo farà.
-
Potrebbe essere possibile collegare il dispositivo USB che si desidera monitorare, insieme a un computer Linux (con Wireshark in esecuzione) e il computer Windows e utilizzare semplicemente il dispositivo USB in Windows.
-
Problemi con quanto sopra? Non so come si rileveranno la macchina Linux o la macchina Windows.
Dopo cinque anni di attesa, ora è possibile annusare i pacchetti USB su Windows
Vedi http://desowin.org/usbpcap/tour.html per un tour veloce . Funziona abbastanza bene
USBSnoop funziona anche - ed è gratuito.
In alternativa, puoi acquistare un convertitore da USB a Ethernet e utilizzare qualsiasi sniffer di rete che preferisci per visualizzare i dati.
Busdog, un progetto open source ospitato su github , ha funzionato bene per me. Ha un driver che installa per consentirgli di monitorare le comunicazioni USB. La finestra di configurazione consente di reinstallare o rimuovere il dispositivo in qualsiasi momento.
È possibile selezionare il dispositivo USB desiderato da un elenco elencato. Una caratteristica interessante è quella di tracciare automaticamente un nuovo dispositivo collegato:
Le comunicazioni di dati da e verso un analizzatore SWR che stavo eseguendo il reverse engineering sono state acquisite perfettamente: