Script para saber si ha Cambiado la IP Pública de mi ADSL

El siguiente Script, nos es útil, si tenemos un servidor de aplicaciones domésticas y nos encontramos en una red agena a la nuestra, es necesario saber que IP Pública tiene nuestro modém ADSL para poder accesar a nuestras aplicaciones. Lógicamente necesitamos que este script sea ejecutado rutinariamente a nuestra conveniencia, lo cual recomendamos algo así como un cron (caso *nix).

#!/usr/bin/perl -w

use LWP::Simple;
use HTML::TokeParser;
use Regexp::Common;
use Sys::Hostname;
use Mail::Mailer;

$mailadmin = “admin\@dominio.com”; #correo de nuestra preferencia donde se desea recibir la información
$hostname = hostname();
$url = “http://192.168.1.254/xslt?PAGE=B01&THISPAGE=&NEXTPAGE=B01″; #la url Absoluta de donde nos muestra el modem los datos
$path = “prodigytest.txt”; #nombre de archivo para vaciar datos de la url

unless (defined($contenido = get($url))){ #obtenemos los datos de la url
die “No se puede obtener $url”;
}

open(FH, “>”, $path) or die “No se puede abrir el archivo $path : $!\n”; #Se abre el archivo y escribe en el los datos
print FH $contenido;
close(FH);

my $range = qr/^ #Espresion Reguar por Dietz
(
(?: # first 3 octets:
(?: 2(?:5[0-5]|[0-4][0-9])\. ) # 200 – 255
| # or
(?: 1[0-9][0-9]\. ) # 100 – 199
| # or
(?: (?:[1-9][0-9]?|[0-9])\. ) # 0 – 99
)
{3} # above: three times

(?: # 4th octet:
(?: 2(?:5[0-5]|[0-4][0-9]) ) # 200 – 255
| # or
(?: 1[0-9][0-9] ) # 100 – 199
| # or
(?: [1-9][0-9]?|[0-9] ) # 0 – 99
)

$)
/x;

#Se realiza el parser para obtener solo los datos que nos interesan
my $parser = HTML::TokeParser->new($path) or die “No se puede abrir: $path $!”;
while (my $token = $parser->get_tag(“td”)){

my $url = $parser->get_trimmed_text(“/td”);
if ($url =~ m{^$RE{num}{int}{-sep=>’.'}{-group=>3}}){
if ($url =~ /$range/){
$ip = $url;
}
}

}

unlink($path) or die “No se puede eliminar $path: $!\n”;

#Es enviado el correo con los datos deseados
$from_address = “name\@localhost”;
$to_address = $mailadmin;
$subject = “IP Publica”;
$body = “Datos del servidor:\n\nIP: $ip\nDominio: $hostname\nFin del mensaje\n”;

$mailer = Mail::Mailer->new(“sendmail”);
$mailer->open({ From => $from_address,
To => $to_address,
Subject => $subject,
})
or die “Can’t open: $!\n”;
print $mailer $body;
$mailer->close( );

#script por Eliseo Ortiz, para fines didacticos.

generic viagra levitra and cialis pills! Buy Penis Growth Pack Online can i take viagra
viagra how it works Buy Cialis Super Active Online herbal viagra forums,
snorting viagra health Buy Viagra Soft Tabs Online viagra patent levitra?
viagra anxiety Buy Tramadol Online taking viagra woman

Tecnología Wi-Max

Breve documento, de la descripción de la tecnología Wi-Max como Sistema de Comunicación RF de largo alcance

cheo-wimax

cheo-wimax

cheo-wimax

Apache + PHP + Firebird + Fedora Core 7

Aqui muestro los pasos a seguir para tener configurado nuestro Fedora Core 7 con Apache & PHP & Interbase.
1. Descargamos los paquetes fuentes de Apache, PHP, Firebird.

Escojamos el mirror que mas os convenga..

Apache:

http://www.apache.org/dyn/closer.cgi

PHP:

http://mx2.php.net/get/php-5.2.5.tar.gz/from/a/mirror

Firebird:

Nota.- Se recomienda para Linux, bajar la versión Super Server…

http://www.firebirdsql.org/index.php?op=files&id=engine_203

2 . Instalamos Firebird

#rpm -ivh FirebirdSS-2.0.3.12981-1.nptl.i686.rpm

Se instalará en /opt/firebird

El demonio se creara en /etc/rc.d/init.d/firebird

Podemos probar el servicio:

#service firebird start
3. Instalamos Apache
#tar -zxvf httpd-*.tar.gz
b. Ingresamos a la carpeta creada
#cd httpd

Configuración, Compilación & Instalación Apache

#./configure –prefix=/usr/local/apache2 –enable-module=so

#make
#make install

La carpeta donde se encontraran nuestros documentos web se encuentran en /usr/local/apache2/httdocs, sin embargo podemos modificar esto ingresando al archivo de configuración

#vim /usr/local/apache2/conf/httpd.conf
Modificamos la siguiente linea por la carpeta donde nosotros deseemos, por ejemplo /var/www:
DocumentRoot “/usr/local/apache2/htdocs”

Ahora probamos nuestro servidor apache ingresando en nuestro navegador http://localhost/ o bien desde otra estación poner la dirección ip del servidor Web en el navegador.

4. Instalamos PHP:

#tar xzvf php-*.gz
#cd php-5.2.1

Configurando, Compilando & Instalando:

./configure –with-interbase=shared,/opt/firebird –with-gd –with-zlib –with-xml –with-apxs2=/usr/sbin/apxs -prefix=/usr/local/php

#make
#make install
Checamos el archivo php.ini se encuentra en el directorio

#ls /usr/local/php/lib/php.ini
Si no existe el archivo lo copiamos desde el directorio donde hemos compilado PHP

#cp php.ini-dist /usr/local/php/lib/php.ini
Editamos el archivp php.ini

Checamos que se haya creado el siguiente directorio:

/usr/local/php/lib/php/extensions/no-debug-non-zts-*

#vim /usr/local/php/lib/php.ini
Buscamos la linea que contenda extension_dir =”./”
y le proporcionamos el path del módulo de la extension que queramos añadir, en este caso el de interbase.so

extension_dir =”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613″

Ahora en el mismo archivo php.ini encontraremos “Dynamic Extensions” alli añadimos nuestra extensión:
extension=interbase.so

5. Apache & PHP:

Solo nos resta añadir los parámetros de AddType en el httpd.conf
#vim /usr/local/apache2/conf/httpd.conf
añadiendiremos:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

Reiniciamos apache

#/usr/local/apache2/bin/apachectl restart

6. Comandos básicos para adminsitración firebird:

./gsec -user sysdba -pass masterkey -mo sysdba -pw masterkey

Nota.- Si no funciona masterkey debemos de examinar el password que nos pone por default firebird en:

#cat /opt/firebird/SYSDBA.password

obtenemos algo así:

ISC_USER=sysdba

ISC_PASSWD=xhra45j

Ingresamos de nuevo como sysdba:

#./gsec -user sysdba -password xhra45j

GSEC>

Modificando desde el CLI la contraseña de sysdba

GSEC>modify sysdba -pw <nueva contraseña>

GSEC>quit

In gresando a una base de datos:

./isql “/opt/firebird/DATOS.GDB” -u sysdba -p <nueva contraseña>

Recomendamos bajar el ibwebadmin, muy al estilo de phpmyadmin de MySQL, solo lo descomprimimos en el directorio que tengamos especificado en DocumentRoot de la configuración de nuestro apache.

http://sourceforge.net/project/showfiles.php?group_id=25198

Administrando Sistema I

A continuación un simple código bash que nos permite realizar respaldos de ficheros en systemas unix/linux a través de cd-rom, la mecánnica es la siguiente:

1. Checa la existencia del fichero

2. Analiza que no sobrepase el tamaño del cd-rom

3. Grabar la información en el cd-rom

#!/bin/sh

fichero=directoriopararespaldar

if [ -e $fichero ]; then

result=$(du -s $fichero | cut -f 1)

if [ $result -gt 700000000 ];then
#echo “El directorio $fichero pesa mas de 256 bytes”
exit
else
mkisofs -r -R -J

Comunicaciones Seriales DB9-DB25 y cosas Raras

La manera mas simple de conectar una Terminal con un host, es vía una conexión directa hacia el puerto serial de la computadora. La mayoría de las computadoras personales contienen 1 o mas puertos seriales, los cuales pueden ser usados por el Mouse. Para el puerto EIA-232 se necesita un cable null modem de transmisión cruzada (PC a PC). En la tecnología ethernet este cable es llamado crossover. Si quieres usar el control del flujo por el hardware, tendrás que usar el pin DTR (o ambos el pin DTR y el DSR).

A continuación un documento donde se realizan experimentos extraños….

Comunicaciones Seriales

Capturando paquetes con Libpcap -parte II-

El siguiente programa es un tipo sencillo de sniffer, utilizando libreria libpcap y netinet. Este programa nos muestra las cabeceras Ethernet, TCP, IP, ya sea todas o las que le especifiquemos, además de mostrarnos datos capturados por nuestra interfaz en modo “promiscuo”.

Código del sniffer

Farid Bielma

Página de Farid Bielma López, un buen amigo asiduo programador y entusiasta del software libre / open source.

http://www.fbielma.org

Calculos de Radioenlaces Wi-Fi a 2.4 Ghz

El siguiente programa realiza calculos de radioenlaces para Wi-Fi a 2.4Ghz

Se calculan los siguientes parámetros:

a) Margen de Desvanecimiento

b) Línea de Vista

c) Zona de Fresnel

d) Nivel de poder de recepción EIRP

e) Ganancia del plato, de la antena parabólica y radio de amplitud

Ejemplo del código: CALCULATOR WI-FI

Código PHP del programa

Capturando paquetes con la biblioteca Libpcap -parte I-

/**********************************************************

Programa bajo licencia GNU/GPL http://www.gnu.org/licenses/lgpl.html
Autor: Eliseo OV
Proposito: Educativo, mostrar algunas funciones de la biblioteca libpcap
y captura de 1 paquete

Requerimientos: