User Tools

Site Tools



Buy it online: Buy USB2 Sniffer


Hardware features

  • XC7A35T Artix 7 Series FPGA
  • FT601 USB 3.0 w/ 5Gbps bandwidth
  • 256MB DDR3 RAM
  • 2 High Speed USB ULPI
  • USB MUX for active/passive switching
  • 2 RGB LEDs

Use cases

  • USB2 Sniffing
  • USB2 MitM
  • FaceDancer-like attacks
  • High Speed USB IP design…

Hardware vs Software sniffer

USB2Sniffer is a hardware-based sniffer. This is different than a software-only sniffer (For ex. Wireshark):

Software-only limitations:

  • Capture is done at a higher level (URB)
  • Depends on the host PC hardware USB controller
  • Can only monitor USB traffic from/to the host PC

Hardware-based sniffer capabilities:

  • Capture is done at the wire level (DP/DM).
  • Ability to capture low level events such as: VBUS states, Speed negotiation Chirps, NAK or Incomplete transactions, PING, SPLIT, Start of Frames (SOF), errors, retransmissions, etc.
  • Non intrusive: ULPI PHY are set to passive (non driving, no pull-up, no pull-down) mode and have no effect on the monitored USB bus.
  • Accurate timings: each data byte or bus event is timestamped with a 60 MHz timestamp clock (16 ns precision)
  • Capture between any host/device: a phone and its accessory, embedded systems, etc.

USB2 Sniffing

VBUS Jumpers setting

For USB sniffing, put the jumpers as follows to power the USB device from the USB host side:


Gateware & Software

We provide open source FPGA gateware and GUI software for USB2 Sniffing scenario.

Other use cases (USB MiTM, Facedancer like, etc.) are not supported by the current gateware/software.

USBSniffer Gateware

To build the gateware follow instructions as explained in README here:

Short instructions:

git clone
cd usbsniffer
openocd -f openocd/openocd.cfg

Alternatively precompiled versions are available for download:

mkdir -p build/gateware/
cp ~/Downloads/top.bin build/gateware/
openocd -f openocd/openocd.cfg

Refer to JTAG+Serial Programmer and OpenOCD sections for additional information regarding SPI flash programming

USBSniffer Software

Qt5-based open source GUI software for USB2 sniffer.


Linux Driver

For performance reason we wrote our own ft60x driver for Linux.

In short:

git clone
cd ft60x_driver
sudo insmod ft60x.ko

Windows Driver

No driver required on Windows, FTDI D3XX library is provided with the software.

Build instructions

Software usage

Configure capture device

Start / Stop capture


products/usb_sniffer.txt · Last modified: 2020/06/05 15:51 by po

Page Tools