Sniff-Sight

ESPSnifferWiresharkch -PER -0 pkt/sStream -
RF controls
■ 802.15.4■ BLE■ Wi-Fi■ microwave■ unknown

802.15.4 packets

TimeSrcDstPANTypeRSSILQILenFCSChΔt msPeakRF

Stats

Frame-counter ledger key-independent: per source, gaps in the aux-security frame counter = frames the sniffer missed (retx = same counter again)

SourceStreamRxMissedLoss %RetxDSN gapsResetsLast FCLabels

Missed frames newest first, click = spectrum at interpolated air time

TimeSourceStreamFC±msLabelExcess dB

SSPR test runs secondary layer, needs decryption: UDP payload seq from tools/traffic/traffic_test.py --phases per

RunChTX dBmSizeTXRxLostPend.DupLatePER %RSSILabels
select a run
SeqStatusLabelExpectedExcess dBRSSIRF

Burst classes rule-based, see docs/BURST_CLASSES.md

ClassTotalLast 60 sUser labels

Ground truth matched 802.15.4 packets -> classified as

Packet / burst timing

Recent bursts click = spectrum snippet (if saved)

TimeClassConfMHzBW10BW20msdBDriftIBIGT
SnippetTimeKindSrcChRF

Spectrum (ESP32-S3)

The RF controls (centre, span, bins, gain, detector, averaging, range, stream mode) are on the Live tab, above the plot (on a phone: under the plot).
Connecting...

Firmware (ESP32-S3 SDR)

Board: -
Bundled: -

      
Flashing uses Web Serial in this browser: desktop Chrome / Edge on the PC the board is plugged into, opened via http://localhost:8000 (or https). The dashboard releases the SDR port first and reconnects when done.

802.15.4 sniffer (xG24 RCP)

Channel / hop list / dwell are launcher options (restart): python -m sniff_sight --channel 20 or --hop 15,20 --dwell 2. Frames with bad FCS are dropped inside the RCP; losses show up as frame-counter gaps and unmatched RF bursts.
What is this?

Packet