Creo que he sido la primera persona en el mundo en incorporar a un AP un firmware modificado y un Arduino, con su código , para hacer nexo entre el Punto de Acceso y una pantalla física, para mostrar en ellas todas las peticiones que se hacían hacia fuera , hacia Internet , desde nuestros dispositivos de nuestra red Wifi (y de algún vecino , si se nos había colado).
Pues esta
semana
santa 2012 me he
dedicado a esto. La verdad, tenia
muchas ganas de
verlo funcionar
porque era una
idea que llevaba
tiempo ya
rondando por mi
cabeza.
Se trata de un
router wifi Linksys
wrt54gl 1.1 con firmware kamikaze
8 de openwrt.
A
ese Firmware se le
ha añadido el
paquete dsniff, el
cual permite con el
comando urlsnarf,
listar las urls que
se solicitan en la
red wi.
Si esa salida la
redireccionamos al
puerto serie interno del aparato
y ahí conectamos
un arduino que
vaya recibiendo
esa información y
pasándola a su vez
a la pantalla lcd,
tenemos un
aparato que nos
permite saber que
peticiones se
hacen a internet
desde nuestro wifi.
Adicionalmente he
colocado un
buzzer, con un
interruptor para
activar/desactivarl
o , para que
además de una
pitada cuando se
produzca una
peticion a internet.
El comando que
utilizo en el firmware para
pasar las urls al
puerto serie es:
urlsnarf -i wl0 |cut -
d\" -f 4 | cut -d '/' -f
3 > /dev/cua/1
Con esto paso solo
el nombre de
dominio que se
esta visitando.
El arduino , que va
dentro del router,
Arduino Uno, va
conectado a la
placa del linksys al
puerto serie
La alimentación
,12v, la cojo de la
hembra de
corriente del
linksys.
El código que lleva
programado el
Arduino es para
que todo lo que le
llegue por puerto
serie
lo muestre en el
lcd y también de
una pitada.
#include
// initialize the
library with the
numbers of the
interface pins
LiquidCrystal
lcd(12, 11, 5, 4, 3, 2);
int incoming ;
String cadena = "" ;
String cadena2 = ""
;
int i = 0;
void setup() {
// set up the
LCD's number of
columns and rows:
lcd.begin(16, 2);
// Print a
message to the
LCD.
lcd.setCursor(0,
0);
lcd.print("STARTIN
G");
13/7/25, 0:40 Router wifi Linksys con pantalla monitorizadora de Urls solicitadas lcd.setCursor(0,
1);
lcd.print("SYSTEM"
);
lcd.setCursor (0,
0);
Serial.begin
(9600);
}
void loop() {
if (Serial.available()
> 0) {
incoming =
Serial.read();
if ( incoming !=
10 && incoming
!=13) {
if (i < 16 ) {
13/7/25, 0:40 Router wifi Linksys con pantalla monitorizadora de Urls solicitadas
https://www.cacharreototal.com/2012/04/router-wifi-linksys-con-pantalla.html 7/12
cadena =
cadena +
char(incoming);
} else {
cadena2 =
cadena2 +
char(incoming);
}
i++;
}
if (incoming ==
10) {
if
(cadena.startsWith
("-")) {
cadena = "";
cadena2 = "";
i = 0;}
else
13/7/25, 0:40 Router wifi Linksys con pantalla monitorizadora de Urls solicitadas
https://www.cacharreototal.com/2012/04/router-wifi-linksys-con-pantalla.html 8/12
{tone(8,3000,100);
lcd.clear();
lcd.setCursor
(0, 0);
lcd.print
(cadena);
cadena = "" ;
lcd.setCursor
(0, 1);
lcd.print
(cadena2);
cadena2= "";
delay (1000);
i= 0;}
}
} // n de si es lf
o crlf
} //n void loop
Así, podemos ver
en la pantalla que paginas se visitan
desde nuestra red:
(Ejemplo de visitar una página web desde movil, conectado al wifi de este router)
Las aplicaciones
de este cacharro
pueden ir desde el
control parental
hasta auditar
nuestro sistema
wifi por si se
cuela algún vecino.
Si por ejemplo nos
acostamos y el aparato empieza a
pitar, ya sabemos
que alguien de
casa o de fuera
esta conectado a
internet desde
nuestra conexión y
que paginas esta
visitando.
La instalación es
sencilla, solo hay
que deshabilitar el
wifi del router que
nos da nuestro
proveedor y
conectarle por
cable de
red este cacharrito.