https://github.com/chaphasilor/ble-analyzer-server
A tool for displaying and analyzing Bluetooth Low-Energy (BLE) packet streams in pcapng format. Supports both recorded and live sessions. Server part only.
https://github.com/chaphasilor/ble-analyzer-server
bluetooth bluetooth-le bluetooth-low-energy pcap pcap-np pentesting security wireshark
Last synced: over 1 year ago
JSON representation
A tool for displaying and analyzing Bluetooth Low-Energy (BLE) packet streams in pcapng format. Supports both recorded and live sessions. Server part only.
- Host: GitHub
- URL: https://github.com/chaphasilor/ble-analyzer-server
- Owner: Chaphasilor
- License: gpl-3.0
- Created: 2020-12-28T15:44:29.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-10-25T10:19:47.000Z (over 3 years ago)
- Last Synced: 2025-01-21T17:36:51.173Z (over 1 year ago)
- Topics: bluetooth, bluetooth-le, bluetooth-low-energy, pcap, pcap-np, pentesting, security, wireshark
- Language: JavaScript
- Homepage: https://github.com/Chaphasilor/ble-analyzer-gui
- Size: 227 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# ble-analyzer-server
A tool for displaying and analyzing Bluetooth Low-Energy (BLE) packet streams in pcapng format. Supports both recorded and live sessions. Server part only.

## Getting Started
### Quickstart
You can download & use pre-built binaries for Windows and Linux (x64) from [the releases page](https://github.com/Chaphasilor/ble-analyzer-server/releases).
All commands and arguments are just the same with it, simply replace `node index` with the path to the binary.
You'll also have to set the environment variables manually, or use a `.env` file (see below).
### Dev Setup
#### Prerequisites
After cloning, create a file called `.env` in the project root.
There you can specify the environment variables:
```s
PORT=70 # just an example
environment=development # or `debug` or `production`
```
You'll need to have Node.js 14 or higher (and `npm`) installed.
Also make sure that [`tshark`](https://tshark.dev/) (the CLI version of Wireshark) is installed on your system and in your `PATH`, so that you can run `tshark` from any terminal.
#### Installation
```sh-session
$ npm install
```
### Startup/Usage
The server requires a Bluetooth LE packet stream in `pcap-ng` format as input.
You can either:
- Specify a file with an existing recording (`node index /path/to/pcap-ng-recording`) ***or***
- Use a pipe to stream live data to the server (`node index < ` for Windows CMD, ` | node index` for Linux)
After starting the server like described above, it starts listening at `ws://127.0.0.1:`, where `` is the port you specified in the `PORT` environment variable (e.g. in `.env`).
You can then paste this websocket URL (e.g. `ws://127.0.0.1:70` or `wss://server.example.com`) into the [GUI](https://github.com/Chaphasilor/ble-analyzer-gui) (you can also use the [live demo GUI here](https://ble-analyzer-gui.netlify.app/)) to start analyzing packets.
After clicking on `Confirm URL`, you can either click on `Load Packets` to load all received packets up to now, or click `Receive Live Packets` to continously monitor incoming packets received by the server.