Vistas de página en total

lunes, 18 de julio de 2011

Tracking en Tiempo Real con InstaMapper y Android

Aprovechando las capacidades de Android y el software disponible, he probado el sistema de tracking en tiempo real de InstaMapper. La pagina permite hacer hacer un seguimiento de muestro dispositivo móvil a través de la red de datos GSM, EDGE, WIFI, etc. Debemos tener un smartphone de los que aparecen en la lista, en este caso se esta probando con un LG Optimus One con Android Froyo 2.2
Primero debemos registrarnos en la pagina de InstaMapper, después añadir un dispositivo en el menú de Devices:
Con esto se crea una llave única que luego debe ser ingresada en el software del dispositivo móvil.
Para el dispositivo Android he descargado el archivo http://www.instamapper.com/download/GPSTracker.apk que también esta en Android Market.
Una vez instalado se debe configurar con la llave que se generó en la pagina web:
Se debe esperar la sincronización del GPS para que comience a enviar los datos al servidor. Primero se ha probado con la conexión WiFi:
El programa se muestra en las notificaciones cuando esta en funcionamiento:
Luego se ha desactivado la conexión Wi-Fi para que los datos se envíen a través de 3G como se ve en la barra del Optimus One (la H es de HSDPA):
Con este tipo de conexión también funciona sin problema, así que se ha probado con 2G donde se estable una conexión EDGE como se ve en la barra:
El resultado después de un rato es el siguiente:
Esta prueba se ha realizado con un intervalo de 50 segundos en un dispositivo móvil Android con GPS incorporado y se ha probado con varios tipos de conexiones inalámbricas.

miércoles, 22 de junio de 2011

Habilitar HTTPS en Apache en Debian Lenny

Se tiene instalado Apache y cacti en Debian 5.0 y se desea acceder al servidor en forma segura.
Instalacion de openssh:
#aptitude install openssl
Habilitar SSH en apache:
#a2enmod ssl
Verificar que se este escuchando en el puerto 443 en el archivo /etc/apache2/ports.conf y buscar "Listen 443":
NameVirtualHost *:80
Listen 80


    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    Listen 443


Generar clave privada en /etc/ssl/private/
openssl genrsa -out casaserver.key 1024
Generar el archivo csr(Certificate Signing Request):
openssl req -new -key casaserver.key -out casaserver.csr
Despues autofirmar en certificado, con un periodo de validez que se desee:
openssl x509 -req -days 365 -in casaserver.csr -signkey casaserver.key -out casaserver.crt

Buscar en /etc/apache2/sites-available/ un sitio como default-ssl o crear uno e incluir:
SSLEngine on
SSLCertificateFile /etc/ssl/private/casaserver.crt
SSLCertificateKeyFile /etc/ssl/private/casaserver.key:



        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/
        
                Options FollowSymLinks
                AllowOverride None
        
        
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/ssl_access.log combined

        Alias /doc/ "/usr/share/doc/"
        
                Options Indexes MultiViews FollowSymLinks
                AllowOverride None
                Order deny,allow
                Deny from all
                Allow from 127.0.0.0/255.0.0.0 ::1/128
        

        #   SSL Engine Switch:
        #   Enable/Disable SSL for this virtual host.
        SSLEngine on

        SSLCertificateFile    /etc/ssl/private/casaserver.crt
        SSLCertificateKeyFile /etc/ssl/private/casaserver.key

        #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
        
                SSLOptions +StdEnvVars
        
        
                SSLOptions +StdEnvVars
        
        BrowserMatch ".*MSIE.*" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0





Habilitar el sitio default-ssl:
a2ensite default-ssl
Por ultimo reiniciar apache:
/etc/init.d/apache2 restart
Para acceder solo en forma segura se debe dehabilitar el sitio default y crear un sitio para redireccionar.
Para deshabilitar el sitio default de Apache buscar en /etc/apache2/sites-enabled/ y aplicar:
#a2dissite 000-default
En este caso el sitio se llamaba 000-default.
Luego en /etc/apache2/sites-available/ crear con un editor el archivo redir con este contenido:

    RewriteEngine on
    RewriteLog /var/log/apache2/https_rewrite.log
    RewriteLogLevel 1
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]

Luego habilitar el modulo rewrite:
a2enmod rewrite
Y reiniciar Apache, asi siempre se accederá con https aun cuando se escriba http.
Sitios de referencia:

SyntaxHighlighter 3 test en blogger

#!/usr/bin/python

# statusbar.py 

import sys
from PyQt4 import QtGui

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)

        self.resize(250, 150)
        self.setWindowTitle('statusbar')

        self.statusBar().showMessage('Ready')


app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())

sábado, 18 de junio de 2011

Compartir Internet con Firestarter

Firestarter es un cortafuego de Linux con interfaz gráfica y una de las cosas que permite configurar es la de compartir una conexión a Internet con otro equipo.
Primero se necesitan 2 interfaces de red, una con la conexión a Internet y la otra para conectar la segunda maquina.
Para instalar ejecutar lo siguiente en consola:




Luego en mi caso como tengo la conexion a Internet en forma inalámbrica debo saber cual es el rango IP:
Para la interfaz de red LAN debo elegir un rango diferente, en mi caso he puesto 10.0.0.1 con mascara 255.255.255.0 y puerta de enlace se deja en blanco:
Ahora se ha conectado un cable de red cruzado a la segunda maquina y se ha configurado una dirección IP en el mismo rango, 10.0.0.2 con mascara 255.255.255.0 y puerta de enlace 10.0.0.1, también se necesita ingresar la dirección DNS que es la misma de la conexion a Internet en la interfaz inalámbrica, 192.168.1.254:
 Se debe iniciar Firestarter desde el menú y seguir las instrucciones a través del wizard:

Luego se debe elegir la interfaz que esta conectada a Internet, en este caso wlan0:

Después seleccionar donde dice "Enable Internet connection sharing" y elegir la interfaz donde se va a compartir, en este caso eth0:
Por ultimo se debe iniciar Firestarter:
Así finalmente se tiene acceso a Internet en ambas maquinas.

jueves, 17 de febrero de 2011

Conexion serial al router D-Link DIR-600 con firmware DD-WRT

El router DIR-600 es un equipo económico el cual puede ser actualizado con el firmware DD-WRT para aprovechar al máximo sus capacidades. En esta oportunidad se ha experimentado con el puerto serial disponible en el interior del dispositivo, en este caso con la finalidad de efectuar un reset por una mala configuracion que dejo inaccesible su restauración a través de las bocas Ethernet.









La conexión debe hacerse a 57600 bps, 8 bits, sin paridad, 1 bit de stop y sin control de flujo. Algo de tener en consideracion es que el router tiene niveles TTL de 3.3 V(aqui se puede ver el orden de los pines). Para tener el nivel deseado se ha alimentado el chip MAX232CPE desde el mismo conector del router, donde esta disponible el pin Vcc con 3.3 V.