Scanning mode: Bluetooth

The design of Bluetooth makes capturing packets very difficult, but performing active scans for discoverable Bluetooth and BTLE devices can still yeild results.

Scanning mode data sources

The scan report API is designed to be as simple as possible, and to automate as much of the process as possible.

To assist with automation, scanning mode datasources are created dynamically by Kismet when scan reports are submitted; there is no need to define a specific datasource before sending a scanning mode report.

To create the scanning mode datasource, a scanning report must include:

  1. A datasource UUID. This UUID must be unique within Kismet, and consistent for all reports from this datasource. Scanning software should cache this UUID for consistent reporting between instances.

  2. A human-readable name. This wil be assigned as the name of the datasource, and will be updated automatically if the name changes in subsequent reports.

Cache and burst mode reporting

Scanning mode assumes that the device doing scannign may not be able to maintain a constant connection to the Ksimet server.

Reports can be cached in sent in groups using the report endpoint; each report contains a timestamp, GPS location, and signal information. Multiple reports for the same AP reflecting information over time can be sent in a single connection.

Bluetooth scanning report

DESC

Submit a scanning report.

A scanning report consists of a datasource name and UUID, and a list of report objects.

ROLES
admin scanreport
ADDED
API added 2020-07
URI
/phy/phybluetooth/scan/scan_report.cmd
METHODS
POST
JSON
PARAMETERS

This endpoint takes additional parameters by using a `POST` request and supplying a JSON document or json form variable.

You can find more information about API parameters here.

reports list OPTIONAL

List of report objects

source_name string OPTIONAL

Source name

source_uuid string OPTIONAL

Source UUID

API

Each report object should contain:

timestamp number OPTIONAL

Unix timestamp with second precision.

If no timestmap is provided, the time the report is received is used.

Due to lack of high-precision packet data in scanning mode, timestamps are second precision only.

btaddr string REQUIRED

Bluetooth device address

devicetype string OPTIONAL

Device type, if known

txpowerlevel number OPTIONAL

Advertised transmission power level

pathloss number OPTIONAL

Reported path loss

scan_data string OPTIONAL

Binary scan data, as hex string

service_data dictionary OPTIONAL

Dictionary of UUID to service scan data, as binary hex strings

signal number OPTIONAL

Signal level, in dBm

lat number OPTIONAL

GPS latitude of detection, in decimal degrees

lon number OPTIONAL

GPS longitude of detection, in decimal degrees

alt number OPTIONAL

GPS altitude of detection, in meters

spd number OPTIONAL

GPS speed of motion of sensor during detection, in kilometers/hour