cynthion-capture

Capture USB traffic with a Cynthion analyzer into Wireshark-compatible pcap files.

2|Updated May 13, 2026
One-click install
npx skills add https://github.com/curtisgalloway/public-skills --skill cynthion-capture-curtisgalloway
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: cynthion-capture
Source: https://github.com/curtisgalloway/public-skills/tree/main/plugins/hardware-lab/skills/cynthion-capture
Command: npx skills add https://github.com/curtisgalloway/public-skills --skill cynthion-capture-curtisgalloway

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyusb, nusb, futures-lite, ctrlc, flate2, and includes scripts (resource) components.

What problem does it solve? Capturing USB traffic between a host and a device requires dedicated hardware and correctly configured software; this Skill walks through wiring a Cynthion analyzer, loading its bitstream, and recording traffic to standard pcap files either through a GUI or fully headless. ## Core Features & Use Cases - GUI capture with Packetry: Load the analyzer bitstream, launch Packetry, and save captures as .pcap files openable in Wireshark. - Headless capture: Use the bundled Rust (nusb) or Python (pyusb) tools to record LINKTYPE_USB_2_0 pcap output with speed filtering and timed durations, no GUI required. - Rolling long-running capture: Rotate gzip-compressed pcap segments on time or size limits, auto-build per-segment JSON device indexes and a session manifest, and measure clock offset against a target host over SSH. - Use Case: Capture 30 seconds of full-speed traffic from a USB device under test with cynthion-capture -d 30 -s fs capture-fs.pcap.gz, then open the result in Wireshark or decode it with the cynthion-pcap-decode skill. ## Quick Start Ask the agent to capture USB traffic from the connected Cynthion analyzer into a pcap file, for example by saying "run a 60-second headless USB capture with Cynthion and save it to capture.pcap.gz".

Frequently Asked Questions about cynthion-capture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I capture USB traffic with a Cynthion analyzer?▼

Connect the Cynthion CONTROL port to your analysis machine, wire TARGET C to the target host and TARGET A to the device, then run `cynthion run analyzer` to load the bitstream. Capture with the Packetry GUI or the headless cynthion-capture tool, which writes a standard pcap file.

How do I capture USB traffic without a GUI?▼

Use the bundled headless tools: the Rust cynthion-capture binary (built with cargo from scripts/capture-rs) or scripts/capture.py with pyusb. Both write LINKTYPE_USB_2_0 pcap files and support duration limits and speed filters (auto, hs, fs, ls).

Can Cynthion capture USB 3.x SuperSpeed traffic?▼

No. Cynthion captures USB 2.0 traffic only (High, Full, and Low Speed). USB 3.x devices connected through Cynthion typically fall back to USB 2.0, which is expected behavior.

Why does my Cynthion capture show zero packets?▼

The most common cause is swapped TARGET wiring: the device under test must plug into TARGET A (USB-A female) and the target host into TARGET C. Also confirm the analyzer bitstream is loaded with `cynthion info` showing Bitstream: USB Analyzer.

How do I run a long-running USB capture over hours or days?▼

Use scripts/rolling_capture.py, which rotates gzip-compressed pcap segments on a time interval or size limit and builds a JSON device index per segment plus a manifest.json. It can also measure clock offset against a target host over SSH for timeline correlation.

Do I need sudo for headless Cynthion capture on Linux or macOS?▼

On macOS the Rust tool uses IOUSBHost and needs no sudo. On Linux, unprivileged access requires the udev rules installed by the cynthion-setup skill; otherwise run the Python tool with sudo.