Inicio > Geek, General, hardware, Linux, seguridad, Tech, wifi > Detector de tráfico no deseado para OpenWRT (para WRT54g) Parte II

Detector de tráfico no deseado para OpenWRT (para WRT54g) Parte II


¿Se acuerdan del detector de tráfico no deseado para OpenWRT?. Bueno, el tema es que como dije en mi post anterior, al actualizar a OpenWRT Kamikaze, la utilidad gpio dejó de funcionar, por lo que el feedback visual que proporcionaba este hack si alguien accedía a nuestra red, desapareció.

La solución es más simple de lo que parece, ya que aparentemente a partir de la versión RC6 de White Russian (creo) los leds están presentes en /proc/diag/led como se ve a continuación:

root@OpenWrt:/proc/diag/led# ls -l
-r--------    1 root     root            0 Jan  1 01:29 dmz
-r--------    1 root     root            0 Jan  1 01:29 power
-r--------    1 root     root            0 Jan  1 01:29 ses_orange
-r--------    1 root     root            0 Jan  1 01:29 ses_white
-r--------    1 root     root            0 Jan  1 01:29 wlan
root@
OpenWrt:/proc/diag/led#

Esto permite que si queremos por ejemplo encender el led naranja detrás del logo de Cisco, sólo tengamos que hacer:

root@OpenWrt:/proc/diag/led# echo "1" > /proc/diag/led/ses_orange

Sin necesidad de recurrir a la herramienta gpio que era necesaria antes. De esta misma manera se puede controlar cualquiera de los otros leds, con solo mandar un 1 para encenderlos y un 0 para apagarlos.

Todo esto nos sirve para simplificar el script que usábamos en la versión anterior (White Russian) y que sólo tengamos que hacer lo siguiente:

Agregar el archivo /usr/bin/wl-traf.sh (y darle permiso de ejecución) con el siguiente contenido:

#!/bin/sh
#
I=wl0
while sleep 1; do
if [ "`wl assoclist`" != "" ]; then
XFER=`ifconfig $I|grep bytes`

if [ "$XFER" != "$PXFER" ]; then
# Si hay transferencia prendo el led ambar
echo "1" > /proc/diag/led/ses_orange
echo "0" > /proc/diag/led/ses_white
PXFER=$XFER
else
# Si no hay transferencia prendo el led blanco
echo "0" > /proc/diag/led/ses_orange
echo "1" > /proc/diag/led/ses_white
fi
else
echo "0" > /proc/diag/led/ses_orange
echo "0" > /proc/diag/led/ses_white
fi
done

Y por último agregar la siguiente línea al archivo /etc/init.d/custom-user-startup

/usr/bin/wl-traf.sh &

No se olviden del “&”, de esta manera será ejecutado cada vez que se inicie el router. Y por supuesto tampoco olviden que como en el caso anterior, va a ser necesario instalar el paquerte wl para que funcione.

  1. andre
    6 octubre, 2009 a las 1:18 pm

    podrias explicarle sobre aquel dispositivo?
    es la primera vez que lo escucho!

  2. Spirit
    11 mayo, 2013 a las 9:07 pm

    A ver. si en caso entiendo lo que dices, en caso que no hay internet en el puerto WAN, el led SES debe cambiar de color?, es decir, cuando es led naranja, hay internet por el puerto wan, y cuando es led blanco, entonces, no hay internet en ese puerto. Será cierto eso?

    En el firmware DD-WRT hacía eso antes de su versión actual (ahora desactualizado y descontinuado), sin embargo, el firmware OpenWRT aún sigue en pie ese proyecto y por eso lo cambié a OpenWRT, sin embargo, por defecto no hace funcionar el led SES, eso ayuda mucho a monitorear la conexión con el ISP y también para comprobar el origen de la falla.

    Gracias, saludos… y muy buen aporte.

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: