Calcular un Dirección de Red en base a una Dirección IP y la Mascara de Red

El día de ayer me encontraba repasando algunos conceptos básicos sobre direccionamiento IP, y me tope con el caso de calcular una dirección de red en base a una dirección IP y una mascara de red.

La operación es bastante sencilla, solo basta con convertir la dirección ip y la mascara a binario y comenzar a realizar un ‘AND’ bit por bit y convertir el resultado de binario a decimal y ta, tan !! Sabremos la dirección de red. :D

calculo de id de Red

 

La imagen superior muestra la operación de la dirección de red o id de la red.

En un principio usaba lápiz y papel, con el tiempo se adquiere destreza y puede realizarse como un calculo mental. Ha pasado un poco de tiempo se ha empolvado un poco esa destreza, pero me he hecho de otras habilidades bastante útiles. Así que mientras  desempolvaba esos conocimientos me dije a mi mismo, mi mismo hay que hacerlo con JavaScript. :D

En un principio comencé por declarar variables en javascript y asignar la dirección ip y la mascara, hacer un Split, convertir posición del arreglo en binario, completar ceros a la izquierda y realizar ‘AND’ bit por bit. Tengo que admitir que ese código era un chulada.

Me detuve a leer este post sobre Operadores sobre bits, lo cual me facilito muuuuuuucho la vida.

A continuación comparto el código:

Calculo Dirección de Red

var ip = '192.168.1.241';
var mask = '255.255.255.0';
var ipSplit = ip.split('.');
var maskSplit = mask.split('.');

/**
* La funcion determina la dirección de red en base a una direccion ip y una mascara de red
*
**/
function networkAddress(ipSplit, maskSplit){
var netAddress = new Array;
for(var i = 0 ;i < 4; i++){
netAddress.push(parseInt(ipSplit[i]) & parseInt(maskSplit[i]));
}
return netAddress;
};

networkAddress(ipSplit, maskSplit);

Basta cambiar las direcciones y ejecutarlo directamente sobre la consola de JavaScript de Chrome o su Browser favorito y ta, tan.

Resultado :D

Mi plan es hacer una extensión de Chrome y una función personalizada para Spreadsheet con GoogleAppScript que inicialmente calcule las direcciones de red y en un futuro pueda realizar direccionamiento VLSM, pero por cuestiones de sueño y trabajo no  pude hacerlo. Cuando este lista la subiré a la Chrome Web Store.

Espero que les sea de utilidad. Saludos.

Happy Hacking !

¿Por qué no dejar la contraseña por defecto de un intercable?

rafavg77:

Un post muy Interesante :D

Originalmente publicado en BrennQuin:

La contraseña para las señales de internet de INTERCABLE, no son tan difíciles de obtener.

Esta es una manera para conseguirla:

1.

Descarga: http://www.4shared.com/zip/vHJMz9Ulba/wirelessnetview.html

2.

Ejecútalo: Te mostrará una lista de las señales que tu tarjeta inalámbrica detecta. Debes elegir la que lleve por nombre intercable con mayor intensidad y dale doble clic.

wirelessnet

3.

En las opciones, busca la que diga mac – address:

macadres

Copia los digitos en un txt y elimina los guiones medios.

Ejemplo:

23-E4-FG-56-78-01       —->          23E4FG567801

4.

Después cambia las letras mayúsculas por minúsculas, antecede una m minúscula y al ultimo dígito sumale 1:

Ejemplo:

23E4FG567801   ——>    (m) 23e4fg56780 (1+1)    ———->     m23e4fg567802

Y ahí tienes la contraseña. Ahora, no funciona así con todas pero puede que la que detectes si sea así.

Últimos datos:

  • Si termina en 00, y no funciona sumarle 1 al último dígito…

Ver original 118 palabras más

Ubuntu Server + Crontab + Bash Script + Whatsapp (Yowsup)

Hoy es noche de dos por uno, así que les compartiré otro post el cual creo que es bastante interesante. Como comentaba en el post anterior he instalado ubuntu server en una computadora muy, muy vieja y he levantado uno que otro servicio, además de instalar y configurar Yowsup para utilizar Whatsapp desde línea de comandos.

Tengo un sevidor en casa y unos cuantos servicios forwardeados a través del Infinitum de la casa. Abrí una cuenta en Changeip.com y esta por configurar su cliente para DDNS cuando me dije a mi mismo, mi mismo y si te envías la dirección ip pública a tu cuenta de whatsapp y de esta manera siempre sabrás cual es la dirección ip publica de la casa :D. Esto despertó mi curiosidad de que es lo que podría hacer un Crontab + Bash script + Yowsup, claro notificaciones al por mayor.

A detalle escribí un script sencillo para resolver la ip publica de Infinitum de la casa y que la envié por un mensaje de Whatsapp desde las de la mañana hasta las 9 de la noche, por que después hay que hacer la meme :3 .

En concreto el Script es el siguiente:

Bash ScriptDonde cada cosa significa:

ruta=/home/user/yowsup/src #una variable que contiene la ruta hacia Yowsup-cli
log=/home/user/scripts/publicip #una variable que contiene la ruta hacia un log para el script
publicip=`curl ifconfig.me` #se resuelve la dirección ip pública y se guarda en una variable

 

python $ruta/yowsup-cli –send 5218117734568 “Hola Usuario, la Ip Publica es $publicip” –wait –config $ruta/whatsapp_config.txt #se ejecuta yowsup para el envío de mensajes con un texto predeterminado que incluirá la variale con la dirección ip publica

 

date=`date` #fehca
usu=`uname` #usuario
ini=`echo “Script ejecutado con éxito”` #texto predeterminado para escribir en el log

echo “$date – $usu – $ini, La Ip Plubica es $publicip” >> $log/historial_ip.log #se escribe en el log

Para ejecutar este script use un crontab, añadiendo la siguiente línea:

00 6-21 * * * /home/user/scripts/publicip/publicip.sh

 Donde especificamos que en todos los minutos 00 de entre las horas 6:00 am a 9:00 pm se ejecutará el script “publicip.sh” el cual ya se explico anteriormente. Para editar el crontab solo es necesario escribir “crontab -e”.

Y como relojito, a cada hora recibo un menaje con mi dirección Ip Pública :D 

Whatsapp DDNS

 

La verdad no es nada del otro mundo, las aplicaciones pueden ser infinitas, desde notificar ip pública, temperatura hasta mensajearte a ti mismo si eres un forever alone :D.

Cualquier duda y comentario es bien recibido. Saludos.

Usar Whatsapp desde línea de comandos con Yowsup

logo-bw-horizontal

Buenas noches a todos. Como es habitual tengo muchas cosas en la cabeza las cuales quiero compartir con ustedes por medio de este blog.

En los últimos días he jugado con una vieja computadora con ubuntu server, recordando los años de la maestría, configurar apache, mysql, fail2ban, iptables, usuarios,  roles y un poco de php. En la maestría estaba a cargo de un servidor que se encontraba dentro de la universidad y tenía puertos expuestos hacía internet, por ese tiempo estaba cursando las materias de Cisco CCNA, ya sabrán mi emisión de conocer el modelo OSI y TCP/IP, montar servidores, configuración de diferentes protocolos de enrutamiento, NAT, mapeo de puertos, montar un servidor en casa con una vpn para saltarme las restricciones firewall de la universidad, o un tunnel sobre SSH, en fin todo un ñoño en todo el sentido de la palabra :D .

Pero bueno, vamos al grano, el fin de este tutorial es la instalación y la muy sencilla configuración de Yowsup, el cual es una libreria en python para usar whatsapp desde una consola ya sea Linux o Mac (he probado en los dos y todo muy bien). En un principio no me gustaba Whatsapp existiendo otras mensajerías multiplataforma con clientes Web y de Escritorio como Line o Telegram. Pero encontré un post sobre como utilizar Whatsapp con Pidgin utilizando Yowsup y Whatsapp-Purple en Linux y no fue mucha la diferencia para replicar los pasos para Mac usando las mismas librerías y Pidgin e inclusive Adium :D. Les dijo en enlace a ese post Usar Whatsapp con Pidgin en Mac OSX.

Inicialmente se tiene que instalar python y las herramientas necesarias en caso de no contar con ellas, de lo contrario en ubuntu las podemos instalar fácilmente con:

# apt-get install python python-dateutil python-argparse

Es super necesario clonar el repositorio de Yowsup

git clone https://github.com/tgalal/yowsup.git

Ya descargado, lo descomprimimos con unzip master.zip y accedemos al directorio src/, dentro habrá un archivo llamado “config.example” podemos copiarlo a un archivo nuevo para configurarlo con nuestros datos de la siguiente manera # cp config.example whatsapp_config.txt. El nombre del archivo solo es una sugerencia.

Dentro del mismo directorio es necesario dar permisos de ejecución al arhcivo “yowsup-cli” de la siguiente manera

# chmod +x yowsup-cli

Editamos el archivo “whatsapp_config.txt” de la siguiente manera:

Configuración de Whatsapp-congif.txt

Donde cc es el código del país,  phone es el código de país más tu numero de celular (para el caso de  México es necesario poner el número 1 después del código de país como en la imagen, OJO solo México ), id es el IMEI de tu dispositivo, el campo password lo dejamos en blanco ya que no estamos registrados aun.

En mi caso cuento con otro número y equipo celular donde no se puede instalar Whatsapp. Utilizo ese número para registrarlo en Whatsapp.

Hasta este punto todo esta muy bien. Solicitaremos el código de activación por medio de un SMS con ayuda de yowsup-cli:

# sudo python ./yowsup-cli -c whatsapp_config.txt –requestcode sms

Cuando recibamos el código ejecutamos el siguiente comando

# sudo python ./yowsup-cli -c whatsapp_config.txt –register XXX-XXX

Sustituyendo las XXX por el código, es necesario poner el guión “-“. El resultado del comando será lo siguiente

Resultado

 

En la respuesta se observa el campo pw: es cual es el password de nuestra cuenta de whatsapp, se copia el password y se agrega al archivo whatsapp_config.txt en password= . De esta manera tendremos el archivo de configuración para autenticarnos en whatsapp para enviar y recibir mensajes.

Para envíar mensajes desde la terminal ejecutamos

#./yowsup-cli --send 5218118899112 "Test message" --wait --config whatsapp_config.txt

Esto debe ser ejecutado dentro de la carpeta /yowsup/src/, en el parametro –send se escribe el número de destinatario y entre comillas el mensaje.

Para recibir mensaje de whatsapp de ejecuta

# ./yowsup-cli --listen --autoack --keepalive --config yowsup-cli.config

Y pues sacarle jugo a Yowsup. Saludos.

 

Listar terminales tty en Mac

Oficial mente ya es martes 5 de Agosto :D

El motivo de esta publicación es para mostrar como podemos listar dispositivos tty y poder acceder a ellos, como por ejemplo un lector de rfid, el puerto serial de arduino (un puerto serial virtual), la consola de configuración de un Router o Switch Cisco. Bueno manos a la obra.

Para listar usaremos el comendo “ls” y lo usaremos para listar todos las tty en el sistema con “ls /dev/tty.*”  Obtendremos algo como la siguiente imagen.

Captura de pantalla 2014-08-05 00.14.50

Podemos redireccionar la salida de la tty a un screen con el comando “screnn /dev/tty.laquevamosaleer 2400″. En este caso escribí 2400 ya que es el baud rate para poder leer correctamente la salida serial.

Captura de pantalla 2014-08-05 00.19.53

En este caso el dispositivo que estoy leyendo es un lector de RFID y la salida es la siguiente

Captura de pantalla 2014-08-05 00.21.31

Les comparto un vídeo mío accediendo al puerto serial de un router Cisco para ver su Banner Mod :D

Saludos.

Cambiar contraseña y elevar privilegios de una cuenta de usuario en Windows 7

Este post es para personas olvidadizas como yo, que de vez en cuando se nos olvida la contraseña de nuestra cuenta de windows. Explicaré los pasos para cambiar la contraseña de una cuenta en windows 7.

 

Paso 1: Arrancar nuestra maquina con Windows 7 y apagarla antes de que salga el bootscreen de Windows 7.

bootscreen_Windows7

 

Paso 2: Al arrancar de nuevo, nos debe aparecer una pantalla como esta, mostrándonos la opción de reparar el arranque de windows. Seleccionamos la primera opción.

reparar arranque de windows

Paso 3: Aparecerá una pantalla donde está buscando errores.

buscando errores

 

Paso 4: Nos aparecerá un ventana preguntando si queremos restaurar la computadora usando el Restaurado del Sistema (System Restore :D).  Seleccionamos Cancelar.

cancel

 

Paso 5: Seguirá buscando errores

buscando errores

Paso 6: Al final nos aparecerá la ventana donde nos informa que no puede reparar el sistema automáticamente.

no se puede reparar

 

Paso 7: Seleccionamos la opción View Details (Mostrar Detalles) y bajamos hasta encontrar X:\windows\system32\en-US\eroffpls.txt (puede cambiar dependiendo del idioma).

View Details

 

Paso 8: Esto nos abrirá un archivo en Notepad y abrimos el menu File y seleccionamos Open.

txt

 

Paso 9: Buscamos la unidad D: que en realidad es la unidad C:

menu Open

 

Paso 10: en la unidad D: Navegamos hasta Windows\System32. Es importante seleccionar que nos muestre todos los archivos en la parte inferior de la ventana. Y buscamos el archivo cmd.exe

Buscar CMD

 

Paso 11: Hacemos una copia del archivo cmd.exe

copia CMD

Paso 12: Buscamos el archivo sethc.exe

buscamos Sethc

Paso 13: Cambiamos el nombre del archivo sethc.exe por cualquier otro

Captura de pantalla 2014-05-10 a la(s) 04.46.46

Paso 14: Buscamos la copia que realizamos del archivo cmd.exe y lo renombramos por sethc.exe

Captura de pantalla 2014-05-10 a la(s) 04.47.59

Paso 15: Nos salimos de todas las ventanas y reiniciamos la maquina.

Captura de pantalla 2014-05-10 a la(s) 04.48.27

 

NOTA: Lo que hicimos anteriormente fue cambiar el ejecutable que lanza las StickyKeys las cuales son una característica de windows para lanzar combinaciones de teclas sin tener que pulsarlas de manera simultánea.

Paso 16 : Dejamos que windows arranque normalmente, ponemos el cursor dentro del campo donde se escribe la contraseña y pulsamos 5 veces la tecla Shift y se abrirá una venta cmd con privilegios elevados. Normalmente en windows al presionar 5 veces la tecla Shift, normalmente se lanza en sethc.exe pero en este caso lanzará el cmd.exe que con el nombre  sethc.exe.

Captura de pantalla 2014-05-10 a la(s) 05.06.56

 

Paso 17:  Listamos los usuarios con privilegios de Administrador ejecutando el comando “net localgroup Administrators”. Claro sin comillas y puede cambiar Administrators por Administrador en español. En mi maquina tengo dos usuarios Dev y Luser. Dev es un usuario normal sin contraseña y Luser es Administrador y tiene contraseña.

Captura de pantalla 2014-05-10 a la(s) 05.07.22

Paso 18: Listamos los usuario con permisos comunes con “net localgroup users “

Captura de pantalla 2014-05-10 a la(s) 05.07.56

Paso 19: Ahora cambiamos el password de la cuenta que tiene contraseña con el comando ” net user <tu_Cuenta> * “. Recuenta que sin comillas y sin < y >. Nos pedirá ingresar una contraseña nueva y confirmarla. Al final seteará la contraseña nueva :D.

Captura de pantalla 2014-05-10 a la(s) 05.12.19

Paso 20: En este paso elevaremos los privilegios de una cuenta Standar a una cuenta de Administrador. El comando es ” net localgroup Administradors <tu_Usuario> /add “. Recuenta que sin comillas y sin < y >.

Captura de pantalla 2014-05-10 a la(s) 05.13.36

 

Al final podremos firmarnos con la contraseña nueva.

Captura de pantalla 2014-05-10 a la(s) 05.26.17

 

Espero que le sea de utilidad. Saludos

Instalar Tomcat 7.0.53 en Mac OS X 10.9

Un pre requisito para instalar el servidor tomcat, debemos contar con alguna version de Java, y lo podemos comprobar ejecutando el comando java -vesion en la terminal en Mac. Deben obtener algo así :

Java Version

Ya cubierto el requisito anterior debemos descargar tomcat desde la página de apache, lo puden descargar desde aquí. Buscamos y descargamos el .tar.gz (JUM !!) y debemos copiar el archivo descargado al directorio /usr/local/.


sudo cp apache-tomcat-7.0.53.tar.gz /usr/local //copiamos el .tar.gz
sudo tar -xvf apache-tomcat-7.0.53.tar.gz      // Descomprimimos.
sudo rm apache-tomcat-7.0.53.tar.gz          // Borramos el tar.gz.

 

Es necesario  borrar un enlace simbólico y lo hacemos con el comando (ya que este apunta a otro lugar)

sudo rm /Library/Tomcat

Y crearemos un nuevo enlace simbólico apuntando a donde se descomprimio el tomcat.


sudo ln -s /usr/local/apache-tomcat-7.0.53 /Library/Tomcat

Cambiaremos el owner del enlace simbólico a nuestro Usuario


sudo chown -R <tu_usuario> /Library/Tomcat

Daremos permiso de ejecución a todos los scripts


sudo chmod +x /Library/Tomcat/bin/*.sh

Hasta este punto podemos arrancar y detener el servidor con los comandos correspondientes.


/Library/Tomcat/bin/startup.sh
/Library/Tomcat/bin/shutdown.sh

También podemos arrancar y detener el server con ayuda de TomcatController, lo descargamos, montamos el .dmg y arrastramos a nuestras Aplicaciones.

TomcatController

 

Abrimos TomcatController y configuramos la ruta del enlace Simbólico

Configurar TomcatController

 

Entramos a http://localhost:8080

 

Homepage Tomcat Server

Y ta tan !! Habemos servidor Tomcat :D