ifnow/README.md
2024-01-05 13:12:09 -08:00

33 lines
1.2 KiB
Markdown

# ifnow
A Linux network interface device for communication over the ESP-Now wireless broadcast protocol.
NOTE: This is EXTREMELY work in progress and as it requires root permissions is not recommended to be run unmonitored.
# Build
```
git clone https://git.oit.cloud/morgan/ifnow.git
cd ifnow
mkdir build
cd build
cmake ../
make
```
This should result in the `ifnow` binary in the build directory.
# Usage
This is two steps, first setting up monitoring mode (using aircrack-ng in this method). You will need to determine
your wireless interface name and replace if different from `wlp2s0` in the example. You will also want to set the
channel to match the ESP32 configuration.
```
sudo airmon-ng start wlp2s0
sudo iw wlp2s0 set channel 1
./ifnow wlp2s0mon now1 10.10.0.13
```
The interface is now up as `now1` and you should be able to write to this interface. In theory `pcap` can
be used to intercept raw packets but if used with LwIP on the ESP32 end, which can be accomplished with
[esp_netif_now](https://git.oit.cloud/morgan/esp_netif_now), any IP stack should work. Has been testing
with UDP and some [CoAP](https://libcoap.net). There are definitely still issues with parsing some incoming
packets.