Per scaricare il traffico USB su Linux, è necessario il usbmon
modulo, che esiste da Linux 2.6.11 . Le informazioni su quel modulo sono disponibili /usr/src/linux/Documentation/usb/usbmon.txt
nella struttura dei sorgenti di Linux. A seconda della distribuzione che si sta utilizzando e della versione di tale distribuzione, quel modulo potrebbe essere integrato nel kernel o potrebbe essere un modulo caricabile; se si tratta di un modulo caricabile, a seconda della distribuzione in uso e della versione di tale distribuzione, potrebbe essere o meno caricato per te. Se è un modulo caricabile e non caricato, dovrai caricarlo con il comando
modprobe usbmon
che deve essere eseguito come root.
Le versioni di libpcap precedenti alla 1.0 non includono il supporto USB, quindi sarà necessario almeno libpcap 1.0.0 .
Per le versioni del kernel precedenti alla 2.6.21 , l'unico meccanismo di acquisizione del traffico USB disponibile è un meccanismo basato su testo che limita la quantità totale di dati acquisiti per ciascun blocco USB grezzo a circa 30 byte. Non c'è modo di cambiarlo senza patchare il kernel. Se il debugfs non è già montato /sys/kernel/debug
, assicurarsi che sia montato lì eseguendo il seguente comando come root:
mount -t debugfs / /sys/kernel/debug
Per la versione 2.6.21 del kernel e successive , esiste un protocollo binario per tracciare i pacchetti USB che non hanno questa limitazione di dimensione. Per quella versione del kernel, avrai bisogno di libpcap 1.1.0 o versioni successive , perché il supporto USB libpcap 1.0.x utilizza, ma non gestisce correttamente, il meccanismo mappato in memoria per il traffico USB, che libpcap utilizzerà se disponibile - non può essere reso non disponibile, quindi libpcap lo userà sempre.
In libpcap 1.0.x, i dispositivi per l'acquisizione su USB hanno il nome usbn, dove n è il numero del bus. In libpcap 1.1.0 e versioni successive, hanno il nome usbmonn.
Avrai anche bisogno di un Wireshark 1.2.xo successivo .