Tutorial USB Sniffer da $34: Cattura il Movimento del Mouse e i Tasti della Tastiera Utilizzando Wireshark
Tutoriale USB Sniffer: Cattura il movimento del mouse e i tasti della tastiera utilizzando Wireshark
In questo progetto, esploriamo come un dispositivo sniffer USB possa essere utilizzato per monitorare e analizzare la comunicazione USB tra un computer e dispositivi di input comuni come un mouse e una tastiera. Posizionando uno sniffer USB in linea tra il dispositivo USB e il computer, tutti i pacchetti USB che passano possono essere catturati e analizzati in tempo reale utilizzando Wireshark.
Questo tutorial dimostra come i movimenti del mouse, i clic dei pulsanti e persino i tasti della tastiera (inclusi le password) possano essere osservati a livello di protocollo USB. Il progetto è destinato a scopi educativi per comprendere come funzionano internamente i dispositivi di interfaccia umana USB (HID) e perché la sicurezza fisica è altrettanto importante quanto la sicurezza software.

Che cos'è un USB Sniffer?
Un sniffatore USB è un dispositivo hardware che si colloca tra un periferico USB (come un mouse o una tastiera) e un computer host. Trasmette i dati in modo trasparente affinché il dispositivo funzioni normalmente, mentre cattura e espone simultaneamente i pacchetti di dati USB tramite un'interfaccia di monitoraggio separata.
In questo progetto, lo sniffer USB funge da dispositivo di passaggio:
- Il mouse o la tastiera USB si collegano allo sniffer.
- Il sniffatore si connette al computer.
- Una connessione USB separata dallo sniffer va a un computer di monitoraggio che esegue Wireshark.
Tutto il traffico USB che passa tra il dispositivo e il computer può essere catturato e decifrato senza influenzare il normale funzionamento :contentReference[oaicite:0]{index=0}.

Componenti principali utilizzati
Hardware per Sniffer USB
Il sniffatore USB utilizzato in questo progetto si basa su un design FPGA creato da Alex Tarasov. Il design completo include firmware, file PCB e strumenti software. L'unità commerciale utilizzata qui viene fornita con firmware preinstallato, quindi non è necessaria alcuna programmazione o configurazione prima dell'uso.
Internamente, il sniffer si collega alle linee dati differenziali USB e rispecchia i pacchetti su un'interfaccia USB separata che Wireshark può monitorare.
Mouse e Tastiera (Dispositivi HID USB)
Sia il mouse che la tastiera sono dispositivi di interfaccia umana USB (HID). Questi dispositivi inviano rapporti periodici al computer host descrivendo il loro stato:
- Mouse: stati dei tasti, movimento X, movimento Y
- Tastiera: tasti modificatori e codici di scansione dei tasti
Questi rapporti sono trasmessi in chiaro, in forma non crittografata tramite USB, motivo per cui possono essere catturati da un analizzatore di rete.
Computer con Wireshark
Wireshark viene utilizzato per catturare e analizzare i pacchetti USB. Su Windows, la cattura USB richiede componenti aggiuntivi per abilitare l'accesso al traffico USB a livello di driver.
Cablaggio e Connessione
Il dispositivo di sniffing USB è collegato in linea tra il dispositivo USB e il computer.

- Collegare il mouse o la tastiera alla porta di ingresso USB del sniffer.
- Collegare la porta USB di uscita dello sniffer al computer.
- Collegare la porta USB di monitoraggio dello sniffer a un computer stesso o a un altro che esegue Wireshark.
Il dispositivo USB continua a funzionare normalmente mentre il suo traffico è duplicato sulla porta di monitoraggio.
Installazione del software richiesto
Installazione di Wireshark
Wireshark deve essere installato sul computer di monitoraggio. Durante l'installazione su Windows, è essenziale abilitare il componente di supporto per la cattura USB. Senza questo driver, il traffico USB non può essere catturato.
Una volta installato, Wireshark elencherà le interfacce di acquisizione USB insieme alle interfacce di rete.
Driver USB Sniffer (Windows)
È necessario un piccolo eseguibile helper su Windows per consentire a Wireshark di accedere ai dati di sniffing USB dall'hardware. Questo eseguibile deve essere collocato nel percorso di sistema (ad esempio, direttamente sotto l'unità C:) affinché Wireshark possa comunicare con il dispositivo di sniffing.
Catturare dati USB in Wireshark
Dopo aver avviato Wireshark, seleziona l'interfaccia dello sniffer USB e inizia a catturare. Inizialmente, potrebbe apparire una grande quantità di traffico USB non correlato.
Applicare filtri USB
Per concentrarsi solo sui dati USB pertinenti, viene applicato un filtro di visualizzazione:
usbllQuesto filtro mostra solo i pacchetti del Livello Link USB, che contengono le transazioni USB grezze scambiate tra il dispositivo e l'host.
È necessario un ulteriore filtraggio poiché USB produce un volume di dati molto elevato.
Filtraggio per ID pacchetto (PID)
I pacchetti di dati del mouse e della tastiera possono essere identificati da specifici ID pacchetto (PID). In questo progetto, i PID rilevanti osservati sono:
0xC30x4B
Questi possono essere filtrati in Wireshark utilizzando:
usbll.pid == 0xC3 || usbll.pid == 0x4BQuesto filtro isola i pacchetti di report HID provenienti dal mouse o dalla tastiera.
Comprendere i dati del mouse
Quando il mouse viene spostato o cliccato, i rapporti HID vengono inviati continuamente. Ogni rapporto contiene diversi byte:
- ID del rapporto
- Stati dei pulsanti (sinistra, destra, centro)
- Movimento sull'asse X
- Movimento dell'asse Y
Osservando i valori dei byte che cambiano in Wireshark, si può dedurre la direzione e la velocità del movimento del mouse. Anche senza cliccare, il solo movimento genera un'attività USB visibile.
Comprendere i Dati della Tastiera
I dati della tastiera vengono inviati come rapporti HID contenenti codici di scansione anziché valori ASCII. Ogni tasto corrisponde a un ID di utilizzo HID specifico.
Ad esempio:
0x04→ Lettera A0x05→ Lettera B0x0E→ Lettera K
Le lettere maiuscole e minuscole sono determinate da tasti modificatori come Shift, che appaiono in byte separati del rapporto.
I tasti di funzione come F12 generano anche codici di scansione unici che possono essere osservati direttamente nei pacchetti catturati.
Implicazioni di sicurezza
Questo progetto dimostra chiaramente che il traffico USB HID non è criptato. Se un dispositivo malevolo viene collocato fisicamente tra una tastiera e un computer, può catturare ogni pressione di tasto, inclusi nomi utente e password.
Questo è il motivo per cui la sicurezza USB, l'hardware affidabile e il controllo degli accessi fisici sono fondamentali in ambienti sensibili.
Riepilogo della Dimostrazione
In questa dimostrazione, i seguenti sono stati catturati e decodificati con successo:
- Attività di movimento del mouse e dei pulsanti
- Pressioni individuali dei tasti della tastiera
- Tasti funzione e tasti modificatori
- Parole complete digitato sulla tastiera
Il dispositivo USB sniffer opera in modo trasparente, rendendo difficile la rilevazione senza ispezione fisica.
Conclusione
Questo progetto di sniffing USB fornisce una potente dimostrazione pratica di come funziona la comunicazione USB a livello più basso. Combinando hardware di sniffing dedicato con Wireshark, diventa possibile vedere esattamente come i dispositivi di input comunicano con i computer.
Il progetto è ideale per apprendere i protocolli USB, le strutture dei rapporti HID e le considerazioni di sicurezza nel mondo reale. Sebbene dimostrato con un mouse e una tastiera, gli stessi principi si applicano a molti altri dispositivi USB.
Download del software
L'applicazione di supporto Windowsusb_sniffer_win.exenecessario per catturare i dati USB con Wireshark è disponibile per il download sotto questo articolo.
Cose di cui potresti avere bisogno
-
Amazon
-
eBay
-
AliExpressAcquista un sniffatore USB da AliExpresss.click.aliexpress.com
-
BanggoodAcquista uno sniffatore USB da Banggoodbanggood.com
Risorse e riferimenti
-
ScaricaScarica Wiresharkwireshark.org
File📁
Manuale dell'utente
-
Manuale utente USB Sniffer_italiano
usb_sniffer_manual_english-1.pdf1.06 MB
Altri file
-
usb_sniffer_win.exe
usb_sniffer_win.zip0.29 MB