Basado en esta documentación, pero actualizado a lo más reciente (a fecha de escritura de este documento).
La configuración de Node-Red obtenida aquí.
- Este doc esta basado en raspbian buster 32 bit
- Usando raspberry-pi imager
- Una vez instalado, actualiza paquetes (
sudo apt update && sudo apt upgrade -y
) - Usa raspi-config para:
- expandir fs
- configurar locales y timezones
- hostname
- país de la wifi
- nombres de interfaces predecibles
A la hora de resolver el problema de las interfaces, es posible también deshabilitar las interfaces nativas de la Rpi (bluetooth y wifi) de forma que no haya que utilizar los nombres únicos. También hay quien ha intentado hacerlo usando reglas udev, pero en mi caso no he tenido éxito con este último método.
Los pasos serán los siguientes:
- Cargar el repo de kismet
- Instalar kismet
- Añadir al usuario pi al grupo de kismet y hacer logout
- Volver a hacer login y configurar kismet para usar nuestras interfaces
- Configurar Kismet como servicio
- Arrancar kismet
1. Cargar el repositorio de Kismet
# añadimos la clave gpg del repo
wget -O - https://www.kismetwireless.net/repos/kismet-release.gpg.key | sudo apt-key add -
# cargamos el nuevo repo en las listas de apt
echo 'deb https://www.kismetwireless.net/repos/apt/release/buster buster main' | sudo tee /etc/apt/sources.list.d/kismet.list
# actualizamos apt
sudo apt update
2. Instalar Kismet
(recordad durante la instalación, responder YES a la pregunta sobre usar suid helpers)
sudo apt install kismet -y
3. Añadir el usuario pi al grupo kismet: sudo usermod -aG kismet pi
(ahora hacemos logout y volvemos a entrar)
4. Configurar las interfaces en kismet
- Editamos:
sudo vim /etc/Kismet/Kismet.conf
- Buscamos el lugar donde está lo de
source=
# See the README for more information how to define sources; sources take the
# form of:
# source=interface:options
#
# For example to capture from a Wi-Fi interface in Linux you could specify:
# source=wlan0
#
# or to specify a custom name,
# source=wlan0:name=ath9k
#
# Sources may be defined in the config file or on the command line via the
# '-c' option. Sources may also be defined live via the WebUI.
#
# Kismet does not pre-define any sources, permanent sources can be added here
# or in Kismet_site.conf
source=wlan0
source=hci0
5. Configurar kismet como servicio
- Editar
sudo systemctl edit kismet
- Escribir esto:
[Service]
WorkingDirectory=/home/pi
User=pi
Group=kismet
- Activar el servicio:
sudo systemctl enable kismet
- Instalamos node-red
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
- Lo configuramos como servicio
sudo systemctl enable nodered.service
Teneis disponible el flujo para poder importarlo y trastear con el :)
Para poder hacer gráficos en grafana con los datos de influx, deberéis instalar el nodo influxdb en Node-Red y aseguraros de enviar datos a la bd influx.
Si no tenéis una instalación de influx, podéis lanzarla con docker-compose utilizando en fichero docker-compose.yml que también he incluido.
Feliz trasteo!