Skip to content

bluetooth: extract UUIDs and manufacturer data from advertisements - #633

Merged
kismetwireless merged 1 commit into
kismetwireless:masterfrom
shrout1:ble-uuid-manufacturer-data
Sep 17, 2026
Merged

kismetwireless merged 1 commit into
kismetwireless:masterfrom
shrout1:ble-uuid-manufacturer-data

Conversation

@shrout1

@shrout1 shrout1 commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Both Bluetooth-capable phys (phy_btle.cc, phy_bluetooth.cc) already parse each advertisement's Advertising Data structures for the device name and flags; this adds parsing of the remaining AD types (16/32/128- bit service UUIDs, Manufacturer Specific Data) from the same already-received data.

phy_btle.cc extends its own AD walk with new tracked fields (service_uuid_vec, manuf_company_id, manuf_data). The classic/mgmt-API Bluetooth phy gets the same fields via new capture_linux_bluetooth.c helpers (eir_get_uuids_json/eir_get_manuf) that parse the EIR buffer already read for the device name, forwarded to phy_bluetooth.cc through an extended JSON payload.

Field tested live with with sniffle flashed Sonoff ZBDongle-P interface and Alfa AWUS036AXML.

Extended BTLE data is now stored in device json here:
btle.device.service_uuid_vec
btle.device.manuf_company_id
btle.device.manuf_data

Bluetooth classic is stored here:
bluetooth.device.service_uuid_strs
bluetooth.device.manuf_company_id
bluetooth.device.manuf_data

@kismetwireless
kismetwireless merged commit f26015e into kismetwireless:master Sep 17, 2026
3 checks passed
…ments

Both Bluetooth-capable phys (phy_btle.cc, phy_bluetooth.cc) already
parse each advertisement's Advertising Data structures for the device
name and flags; this adds parsing of the remaining AD types (16/32/128-
bit service UUIDs, Manufacturer Specific Data) from that same
already-received data.

phy_btle.cc extends its own AD walk with new tracked fields
(service_uuid_vec, manuf_company_id, manuf_data). The classic/mgmt-API
Bluetooth phy gets the same fields via new capture_linux_bluetooth.c
helpers (eir_get_uuids_json/eir_get_manuf) that parse the EIR buffer
already read for the device name, forwarded to phy_bluetooth.cc through
an extended JSON payload.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants