Alex Taradov has designed an open source hardware USB sniffer that captures low-level USB 2.0 packets for analysis in Wireshark, the popular network protocol analyzer. While Wireshark has built-in USB capture capability, it cannot capture low-level packets without additional hardware. Taradov's design fills this gap using three main components: a Cypress CY7C68013A 8051 microcontroller running at 48 MHz, a Lattice MachXO2 FPGA with 2,112 LUTs, and a Microchip USB3343 USB 2.0 PHY. The compact board measures 5.9 cm by 3.8 cm (2.3 inches by 1.5 inches) and captures data in standard PcapNG format.
The sniffer sits between a USB device and host computer using three ports: a USB Type-A port for the target device, a Type-C port for the target computer, and another Type-C port for the analysis computer running Wireshark. The FPGA handles real-time packet capture at USB 2.0 High Speed rates up to 480 Mbps, while the 8051 microcontroller manages communication with the host computer. Taradov also developed a lighter version based on the Raspberry Pi RP2040 microcontroller for simpler use cases.
All design files are available on GitHub under a permissive BSD 3-Clause License, including KiCad schematics, PCB layouts, microcontroller firmware, FPGA Verilog code, and Wireshark plugin source code with pre-built binaries for Windows and Linux. The project was first released two years ago, and the open license has enabled commercial production. Ready-made boards based on the design are available starting at $31 (€29) for the bare board or $35 (€32) with an enclosure, significantly undercutting previous USB sniffer solutions that sold for $199.