mirror of
https://github.com/markqvist/LoRaMon
synced 2026-08-12 17:40:19 -04:00
78 lines
2.1 KiB
Markdown
78 lines
2.1 KiB
Markdown
# LoRa packet sniffer for RNode hardware
|
|
|
|
## Intro
|
|
|
|
This utility allows you to sniff LoRa networks with an [RNode](https://unsigned.io/projects/rnode/), and dump captured packets to the console or files.
|
|
|
|
```sh
|
|
usage: loramon [-h] [-C] [-W directory] [--freq Hz] [--bw Hz] [--txp dBm]
|
|
[--sf factor] [--cr rate]
|
|
[port]
|
|
|
|
LoRa packet sniffer for RNode hardware.
|
|
|
|
positional arguments:
|
|
port Serial port where RNode is attached
|
|
|
|
optional arguments:
|
|
-h, --help show this help message and exit
|
|
-C, --console Print captured packets to the console
|
|
-W directory Write captured packets to a directory
|
|
--freq Hz Frequency in Hz
|
|
--bw Hz Bandwidth in Hze
|
|
--txp dBm TX power in dBm
|
|
--sf factor Spreading factor
|
|
--cr rate Coding rate
|
|
```
|
|
|
|
## Installation
|
|
|
|
If you already have Python3 and pip installed, you can easily install LoRaMon through pip:
|
|
|
|
```sh
|
|
pip3 install loramon
|
|
```
|
|
|
|
On Arch Linux it is also possible to install using the `loramon` package from the [AUR](https://aur.archlinux.org/packages/loramon).
|
|
|
|
If you want to install directly from this repository, first install the dependencies:
|
|
|
|
```sh
|
|
sudo apt install python3 python3-pip
|
|
sudo pip3 install pyserial
|
|
```
|
|
|
|
And then clone the repository and make LoRaMon executable:
|
|
|
|
```sh
|
|
git clone https://github.com/markqvist/LoRaMon.git
|
|
cd LoRaMon
|
|
chmod a+x loramon
|
|
./loramon --help
|
|
```
|
|
|
|
## Usage Examples
|
|
|
|
### Dump to console
|
|
|
|
Listens on a specified frequency and displays captured packets in the console.
|
|
|
|
```sh
|
|
loramon /dev/ttyUSB0 --freq 868000000 --bw 125000 --sf 7 --cr 5 -C
|
|
```
|
|
|
|
### Dump to console and disk
|
|
|
|
Like above, but also writes all captured packets individually to a specified directory.
|
|
|
|
```sh
|
|
loramon /dev/ttyUSB0 --freq 868000000 --bw 125000 --sf 7 --cr 5 -C -W capturedir
|
|
```
|
|
|
|
### Sniff implicit header mode packets
|
|
|
|
If you want to sniff LoRa packets with implicit header mode, use the --implicit option along with the length in bytes of the expected packet. This mode needs an RNode with a firmware version of at least 1.17.
|
|
|
|
```sh
|
|
loramon /dev/ttyUSB0 --freq 868000000 --bw 125000 --sf 7 --cr 5 -C -W capturedir --implicit 12
|
|
```
|