Geolocalizar Wifis

Iniciado por PaPeRrO, 14 Mayo 2010, 17:05 PM

0 Miembros y 3 Visitantes están viendo este tema.

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 (bash) [Seleccionar]
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

#1
Cita de: PaPeRrO en 14 Mayo 2010, 17:05 PM
Para linux:
Código (bash) [Seleccionar]
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 (bash) [Seleccionar]

#! /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.

cpu2

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

cpu2

Osea que el localizador te diria en que poblacion esta la mac, bueno se va cambiando de vez en cuando la mac y ya esta.

Un saludo

Festor

No te dice ninguna población, ciudad y/o pais... simplemente te da las coordenadas, mediante tiangulación, del punto exacto donde cree que debería estar el router detectado.

NikNitro!

Pero solo en la página (por lo menos a mi) no deja acercar el zoom como para distinguir nada :S

Festor

Cita de: NikNitro! en 15 Mayo 2010, 22:58 PM
Pero solo en la página (por lo menos a mi) no deja acercar el zoom como para distinguir nada :S

A mi me deja...