Prior to run the benchmark with T800 with ESP32, the following softwares are required on the host computer:
- Python 3 (tested with v3.8)
- ESP-IDF Framework
- iperf v2 (tested with 2.0.13)
- NMap (tested with 7.80)
- Install the
t800component and its dependencies on the ESP-IDF, runinstall.sh:
$ source install.sh
- It is required to configure the network. Enter the folder
iperf-benchmarkand runidf.py menuconfig. Change the values at the menu optionExample Connection Configuration. Change the SSID and the Wi-Fi network password.
$ cd iperf-benchmark
$ idf.py menuconfig
-
To upload the application to the ESP32, connect it to your machine via USB, then find the port it's connected to and finally run
idf.py flash -p <YOUR_ESP32_PORT>. Run the application once withidf.py -p <YOUR_ESP32_PORT> monitor, so that the ESP can obtain an IP on your network, and end this execution withctrl+[. -
Finally, to be able to run the benchmark, run
idf.py menuconfigand change the settings inBenchmark Configurationto include the IPv4 of the attacking machine and the ESP32. Then:- Run
sudo python attacker.pyin a terminal window. - Run
idf.py -p <YOUR_ESP32_PORT> flash monitorin another terminal window, in parallel. - After conducting the experiment, a file
data.csvwill be generated with all the data collected during the experiment.
- Run
For our experiments, the device used was the ESP32. It is worth noting that TCP ports 6767, 6768, and 5001 cannot be in use by the Operating System during the experiment. If they are being used, these settings can be changed using idf.py menuconfig.
Note: During the experiment, pin D5 will be 0 when the experiment is not running and 1 during its execution.
More details on how to reproduce this work is available inside the manual folder in both English and pt-BR.
@article{10.5753/jisa.2024.3835,
title={Design and implementation of intelligent packet filtering in IoT microcontroller-based devices},
volume={15},
url={https://journals-sol.sbc.org.br/index.php/jisa/article/view/3835},
DOI={10.5753/jisa.2024.3835},
number={1},
journal={Journal of Internet Services and Applications},
author={Bertoli, Gustavo de Carvalho and Fernandes, Gabriel Victor C. and Monici, Pedro H. Borges and Guibo, César H. de Araujo and Santos, Aldri Luiz dos and Pereira Júnior, Lourenço Alvez},
year={2024},
month={Aug.},
pages={289–301}
}