Geolocalizar Wifis

(1/8) > >>

PaPeRrO:
En este articulo explicare como Geolocalizar wifis que encontremos rapidamente.


Requisitos:
Conexion a internet.
Bssid de la red wifi que queremos localizar.


¿como funciona?¿ necesito un gps?
No, no necesitas ningun GPS.

para localizar una wifi lo unico que podiamos hacer es realizar diferentes tomas con nuestro receptor hasta encontrar la señal mas alta, lugar en el que por conclusion sera el mas cercano a la wifi(normalmente).

Como diria homer,, ¿Esque eso no lo puede hacer otro?.

Pues si, resulta que hay una empresa llamada SkyhookWireless que tiene una base de datos con BSSIDS - coordenadas, para que¿?, para programas de localizacion por wireless (wps,sin gps), como loki, ademas estos programas actualizan la base de datos de skyhook aumentando los bssids disponibles.
estos programas cogen la lista de wifis/señal que encuentra tu pc y mandan una peticion a la bbdd de skyhook ir estima por triangulacion la posicion en la que te encuentras.
http://www.skyhookwireless.com/howitworks/


Muy bien, pero yo ya de donde estoy, quiero saber donde esta el bssid que yo quiera.
Pues tan sencillo como decirle a la bbdd que solo encontramos ese bssid y con mucha señal:


Para linux:
Código
MYMAC=AABBCCDDEEFF && curl --header "Content-Type: text/xml" --data "<?xml  version='1.0'?><LocationRQ xmlns='http://skyhookwireless.com/wps/2005'  version='2.6' street-address-lookup='full'><authentication  version='2.0'><simple><username>beta</username><realm>js.loki.com</realm></simple></authentication><access-point><mac>$MYMAC</mac><signal-strength>-50</signal-strength></access-point></LocationRQ>" https://api.skyhookwireless.com/wps2/location

fuente: http://coderrr.wordpress.com/2008/09/10/get-the-physical-location-of-wireless-router-from-its-mac-address-bssid/

¿interesante no?
pero es un coñazo ir una por una, asi que pense en automatizarlo un poquito, asique cree un programa que dada una lista de bssids,essid separados por comas nos sacase un archivo kml (para google earth) con las chinchetas de donde estan las wifis.


Ahora es tan sencillo como poner a buscar el vistumbler,


una vez tenemos las wifis exportar la lista a csv


y pedirle al programa
locazadorbssids.exe lista.csv salida.kml


localizara las bssid y nos creara un kml con los bssids localizados.


Descarga:
http://www.mediafire.com/?m44m5zghzlj

Opiniones please!

PD: cuando tenga un poquito de tiempo comento el source y lo publico.

Festor:
Cita de: PaPeRrO en 14 Mayo 2010, 17:05 pm

Para linux:
Código
MYMAC=AABBCCDDEEFF && curl --header "Content-Type: text/xml" --data "<?xml version='1.0'?><LocationRQ xmlns='http://skyhookwireless.com/wps/2005' version='2.6' street-address-lookup='full'><authentication version='2.0'><simple><username>beta</username><realm>js.loki.com</realm></simple></authentication><access-point><mac>$MYMAC</mac><signal-strength>-50</signal-strength></access-point></LocationRQ>" https://api.skyhookwireless.com/wps2/location

fuente: http://coderrr.wordpress.com/2008/09/10/get-the-physical-location-of-wireless-router-from-its-mac-address-bssid/


Un script escrito en bash que mejora algunas cosas:
-> Poder introducir varias direcciones MAC a la vez, separadas por comas.
-> Poder leer direcciones direcciones MAC desde un fichero de texto plano.

Se aceptan sugerencias...

* Captura de pantalla:



* Código fuente:

Código
#! /bin/bash
 
function LocalizarMAC
{
curl --header "Content-Type: text/xml" --data "<?xml  version='1.0'?><LocationRQ xmlns='http://skyhookwireless.com/wps/2005'  version='2.6' street-address-lookup='full'><authentication  version='2.0'><simple><username>beta</username><realm>js.loki.com</realm></simple></authentication><access-point><mac>$1</mac><signal-strength>-50</signal-strength></access-point></LocationRQ>" https://api.skyhookwireless.com/wps2/location
}
 
function Menu
{
echo "--------------------------------------------------"
echo "..:: Bienvenido al Geolocalizador de APs Wifi ::.."
echo "--------------------------------------------------"
echo "Por favor, seleccione la entrada de datos deseada"
 
echo "1) Introducir direcciones MAC manualmente"
echo "2) Leer direcciones MAC de un fichero de texto"
echo "3) Salir"
echo
}
 
function RegresarMenu
{
echo -n "Pulse cualquier tecla para regresar al menu"
read -s -n1 opcion
case $opcion in
*) clear && Menu;;
esac
}
 
clear && Menu
 
while [[ "$opcion" != '3' ]]; do
read -s -n1 opcion
case $opcion in
1) echo -n "Introduzca las direcciones MAC separadas por comas: "
IFS=$','
read DirMAC
for i in $DirMAC; do
 LocalizarMAC $i
done
RegresarMenu;;
 
2) echo -n "Introduzca la ruta completa al fichero que contiene las direcciones MAC: "
read FicheroMAC
for i in `cat $FicheroMAC`; do
 LocalizarMAC $i
done
RegresarMenu;;
 
*) clear && Menu;;
esac
done
 
exit

PaPeRrO:
Festor, muy interesante, de todas formas lo que he publicado es el programita en c# que puedes encontrar en el ultimo link de mi post, el codigo de curl estaba en la pagina de coderr.wordpress.com, dentro de un rato publico el codigo c#, tengo que comentarlo un poco pero me da pereza.

xv0:
Hola, gracias por el programa

Pregunta... Si cambio mi Mac por una fake estilo 00:11:22:33:44:55 me podrias localizar?

Un saludo

Festor:
Cita de: cpu2 en 15 Mayo 2010, 19:00 pm

Hola, gracias por el programa

Pregunta... Si cambio mi Mac por una fake estilo 00:11:22:33:44:55 me podrias localizar?

Un saludo


Esto... la localización funciona mediante la consulta de la dirección MAC en la base de datos proporcionada por skyhookwireless.com.

Si alguien sabe la dirección MAC de tu router y esta fue registrada por tipos de skyhookwireless.com, entonces aparecerán las coordenadas de localización del router cambies o no ahora dicha dirección.

De todas formas, las zonas de cobertura parece que son estas:
http://www.skyhookwireless.com/howitworks/coverage.php

Navegación

[0] Índice de Mensajes

[#] Página Siguiente