jueves, 21 de julio de 2011

Kismet + Google earth + GPSDrive

bueno pues voy a tratar de explicar como utilizar kismet , en conjunto con gpsdrive para localizar redes inalambricas mediante el un dispositivo GPS. y poder observarlas en google earth

para esto necesitaremos instalar:
google earth (aceleracion 3d nesesaria)
kismet (ya incluido)
gpsdrive
mysql (ya incluido)
gpsd (ya Incluido)
xgps

NOTA: no voy a explicar como instalar, los programas ya que estoy suponiendo que no es necesario.


empezamos a configurar.

 KISMET

buscamos el archivo kismet.conf (podemos usar el comando locate) y lo abrimos con algún editor de texto,buscamos esta sección y la modificamos de la siguiente manera.


# User to setid to (should be your normal user)
suiduser=AQUI-PONEMOS-NUESTRO-USUARIO (root)

# Do we try to put networkmanager to sleep? If you use NM, this is probably
# what you want to do, so that it will leave the interfaces alone while
# Kismet is using them. This requires DBus support!
networkmanagersleep=true

# Sources are defined as:
# source=sourcetype,interface,name[,initialchannel]
# Source types and required drivers are listed in the README under the
# CAPTURE SOURCES section.
# The initial channel is optional, if hopping is not enabled it can be used
# to set the channel the interface listens on.
# YOU MUST CHANGE THIS TO BE THE SOURCE YOU WANT TO USE
source=madwifi_g,wifi0,XXX

ojo esta ultima linea esta configurada para trabajar con una tarjeta atheros y los drivers de madwifi[/b] asi que si tienes una tarjeta diferente tendras que preguntarle a san GOOGLE. deve quedar asi
sourse=driver-de-la-tarjeta,interfaz,¿como-quieres-que-se-llame-tu-red?

también tenemos que modificar la siguiente linea


# Do we have a GPS?
gps=true
y con eso queda configurado kismet.
para iniciarlo tecleamos en una terminal

kismet


y nos aparecerá algo así:





y nos salimos con shift+q

MYSQL

para facilitar las cosas, encontre este script para iniciar mysql

#!/bin/sh
#
#### Backtrack 2 Mysql Startup Script by Dr_Gr33n ####
#
option=6

echo "Welcome do the Dr_Gr33n`s Backtrack 2 Mysql Startup Script"
#
echo "1) Start Small Server"
echo "2) Start Medium Server"
echo "3) Start Huge Server"
echo "4) Check Mysql is running"
echo "5) Stoping Mysql"
echo "0) Exit"
read option
case $option in

1) echo "Starting Small Server"
cp /etc/my-small.cnf /etc/my.cnf
chown -R root .
chown -R mysql /var
chown -R mysql /var/lib/mysql
/usr/bin/mysql_install_db --user=root
/usr/bin/mysqld_safe --user=root &
su
mysql;;
2) echo "Starting Medium Server"
cp /etc/my-medium.cnf /etc/my.cnf
chown -R root .
chown -R mysql /var
chown -R mysql /var/lib/mysql
/usr/bin/mysql_install_db --user=root
/usr/bin/mysqld_safe --user=root &
su
mysql;;
3) echo "Starting Large Server"
cp /etc/my-huge.cnf /etc/my.cnf
chown -R root .
chown -R mysql /var
chown -R mysql /var/lib/mysql
/usr/bin/mysql_install_db --user=root
/usr/bin/mysqld_safe --user=root &
su
mysql;;
4) echo "Checking Mysql is running"
/usr/bin/mysqladmin -u root -p version
cd /root;;
5) echo "Stoping Mysql Server"
/usr/share/mysql/mysql.server stop
cd /root;;
0) echo "*** Bye ***"
;;
*) exit &;;
esac

después de iniciar mysql necesitamos crear una tabla llamada geoinfo y un usuario llamado gast y de contraseña gast, nos conectamos a mysql en una consola, una ves dentro escribimos los comandos:

mysql> CREATE DATABASE geoinfo; (para crear la DB)
mysql>GRANT ALL ON geoinfo.* TO `gast`@`localhost` IDENTIFIED BY `gast`;



una vez creado el usuario y la base de datos, descargamos este archivo

SCRIPTS

al descomprimir el archivo nos van a aparecer 2 archivos

create.sql
resultados.py

en una consola nos ubicamos en el directorio donde estan estos 2 archivos y ejecutamos el script create.sql


mysql geoinfo -p < create.sql

esto creara las tablas que nesesitamos en la base de datos geoinfo.
la opcion -p nos permite ingresar el password con el que nos conectamos a mysql, en caso de no tener pass, podemos omitir la opcion.



GPS y GPSD




ahora es tiempo de conectar el GPS a la computadora , una vez conectado abrimos una consola , para ejecutar gpsd.

NOTA: si el GPS es garmin tenemos que cargar el driver con el comando

modprobe garmin_gps

ejecutamos gpsd

killall gpsd
gpsd /dev/ttyS0 <--------si tu gps es por puerto paralelo
gpsd /dev/ttyUSB0 <--------si tu gps es por USB
xgps

y nos tiene que aparecer una ventana asi:





y ahora probamos con gpsdrive.
desde la consola iniciamos gpsdrive y nos debe aparecer algo así:

bt#gpsdrive
SQL: connected to localhost as gast using geoinfo
Creating main window
y nos debe aparecer una ventana así



si todo salio bien asta aqui, ya estamos listos para empesar a jugar jeje

primero iniciamos kismet y desde consola también iniciamos gpsdrive, en la consola nos aparece esto:
bt # gpsdrive
SQL: connected to localhost as gast using geoinfo
Creating main window

kismet server found



y gpsdrive ahora se debe ver así:





en el lado izquierdo marcamos las opciones las opciones

POI
WLAN
WP

en el mapa aparecen los puntos en donde se encuentran las redes.
ahora es tiempo de pasear, yo me fui con mi laptop a dar la vuelta por mi casa para ver cuantas redes detectaba jejeje.

bien una ves que tenemos las redes ya guardadas en la base de datos, ahora vamos a pasar la información de la base de datos a un archivo kml que son los que ocupa google earth. para esto necesitamos el archivo resultados.py, que descargamos anteriormente y lo vamos a ejecutar de la siguiente manera:

python resultados.py

nos aparecerá en consola las redes con su nombre, longitud, latitud, y macadress. y también nos creara el archivo

ap.kml


bien ahora abrimos google earth y le damos click a la opción archivo/abrir y buscamos el archivo ap.kml.

y listo ahora podemos ver en google earth las redes inalambicas debera verse mas o menos así:











links de descargas


XGPS

GPSDRIVE

GOOGLE EARTH


pues bien solo nos queda caminar mucho y disfrutar.