34 lines
1.2 KiB
Markdown
34 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.
|