Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lyndlabs/kismet-esp32
ESP32 Bluetooth Scanning in Kismet!
https://github.com/lyndlabs/kismet-esp32
bluetooth esp32 kismet wardriving
Last synced: 2 months ago
JSON representation
ESP32 Bluetooth Scanning in Kismet!
- Host: GitHub
- URL: https://github.com/lyndlabs/kismet-esp32
- Owner: LyndLabs
- Created: 2024-07-31T18:19:57.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-01T09:59:56.000Z (5 months ago)
- Last Synced: 2024-10-10T13:21:29.160Z (2 months ago)
- Topics: bluetooth, esp32, kismet, wardriving
- Homepage:
- Size: 3.83 MB
- Stars: 7
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kismet ESP32 Scanner 📡
Send Bluetooth (BLE) scans from the [ESP32]() to Kismet!## Installation
1. [**Flash your ESP32**](https://github.com/LyndLabs/ESP32-BLE-Recon)
2. Download the binary from this repository.## Description
This app parses JSON streams over serial, and uses the Kismet [Scan Report API](https://www.kismetwireless.net/docs/api/bluetooth_scanningmode/) to send Bluetooth recon to the web interface!#### JSON Fields:
- `ID`: ESP32's MAC Address
- `FW`: Firmware version from config.yaml
- `TYPE`: BT, BLE, iBeacon, Eddystone
- `UUID`: Unique BT Address, if applicable
- `MFR`: Manufacturer, if found
- `NAME`: Bluetooth Device Name
- `MAC`: MAC Address
- `RSSI`: Signal Strength
- `TX`: Reported TX power at 1 Meter, if broadcasted.## Usage
For the app, two env variables are needed:
- `KISMETURL`: Location of the kismet server, along with the port.
- `KISMETAPIKEY`: API key with scanreport permissions.A third optional log env variable can also be specified:
- `ESP32_SOURCE_LOG`: specifies how much logging should be output to terminal. Choice of trace || debug || info || warn || error || off. If env is not specified then this defaults to error.##### Example:
```bash
# http[s]://[url]:[port]/
$ export KISMETURL=http://localhost:2501/
# [32 char key with scanreport perms]
$ export KISMETAPIKEY=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa# trace will incur log "vomit", debug being most useful to a programmer, info might be useful to the user,
# warn, error and off being self-explanatory,
$ export ESP32_SOURCE_LOG=trace
$ kismet_esp32_source# or
$ KISMETURL='http://localhost:2501/' KISMETAPIKEY='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' kismet_esp32_source
```
## Notes
- Binary depends on libudev on linux hosts, which the majority of linux distributions have installed by default. Alpine has [issues](https://stackoverflow.com/questions/41753218/udevadm-does-not-show-all-attributes-inside-a-docker-container). This will be remidiated in a future release.