Archives for 

Unix

Aprendiendo Ruby desde cero Capitulo I

Desde hace días quería escribir este articulo pero por falta de tiempo (cosas del trabajo) no lo había podido hacer. Aclaro que no se trata de una guía oficial ni nada por el estilo solo es compartir lo poco que he ido aprendiendo sobre este lenguaje y quizás juntos podamos aprender muchísimo mas. Bueno sin mas cháchara aquí vamos.

 

Primero una definición de la wikipedia de que es Ruby?

 

“Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro “Matz” Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada en Python, Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre.”

 

Algunas características importantes

 

- orientado a objetos.
– Todo es un objeto.
– Bloques.
– cuatro niveles de ámbito de variable: global, clase, instancia y local.
– manejo de excepciones.
– Mark and Sweep Garbage collector.
– expresiones regulares nativas.
– Mucho soporte para comunicación con C, con un agradable API para utilizar Ruby desde C.
– Manejo de multitareas (Threads) independiente del sistema operativo, puedes incluso usar threads en DOS!
– Gran Portabilidad, corre en toda clase de sistemas Linux/Unix, Windows, OS/2, dos, etc…

Para instalar Ruby solo ejecutamos en la terminal y como root

 

# apt-get install ruby

Después de tenerlo instalado solo bastara con teclear en la consola:

 

$irb

Y tendremos algo como esto:

 

 

Ahora realicemos algunos ejemplos, como el famoso programa “Hola Mundo!!!”

 

 

Fácil, no? muy parecido a otros lenguajes, cierto?

 

Bueno creo que es todo por el momento, la idea es que fuera el abre bocas, para la próxima empezaremos con cosas creo que un poquito mas interesantes XD.

 

Fuente 1
fuente 2

THC-HYDRA: Ahora Disponible en Debian

 

Despues de mucho tiempo (alrededor de 6 años) y de un gran esfuerzo de mi gran amigo @DrJunix y yo, nos complace informarle a todos los usuarios de Debian que THC-HYDRA el gran crackeador por fuerza bruta, ahora esta disponible en los repositorios. Para los que no conocen THC-HYDRA es:

Hydra es un crackeador  de fuerza bruta que soporta numerosos protocolos para atacar. Incluye módulos fáciles de añadir, además de eso, es flexible y muy rápido. La versión 6 ha sido probado para compilar limpiamente en Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1 y OSX.
Actualmente esta herramienta es compatible con: TELNET, FTP, HTTP, HTTPS, HTTP-proxy, SMB, SMBNT, MS-SQL, MYSQL, REXEC, Rsh, rlogin, CVS, SNMP, SMTP-AUTH, SOCKS5, VNC, POP3, IMAP, NNTP, PCNFS, ICQ, SAP R / 3, LDAP2, LDAP3, Postgres, Teamspeak, autenticación de Cisco, AFP, Subversion / SVN, Firebird, LDAP2, Cisco AAA (incorporado en el módulo de telnet).

 

Por ahora esta en DEBIAN SID, pero  a medida que vaya pasando el tiempo, se ira integrando en las demas ramas de Debian. ¿Pero por que HYDRA duro tanto tiempo fuera de Debian?

Desafortunadamente THC-HYDRA, no cumplia  con las estrictas politicas de Debian, debido a la incompatibilidad de licencias. (GPL y OPENSSL no son compatibles). Sin embargo, desde la version 6.0 el autor hizo las modificaciones necesarias en el licenciamiento y  añadio la excepcion necesaria para resolver la incompatibilidad  de licencias y de esta forma, poder entrar en el archivo de DEBIAN.

Para los usuarios de Debian SID y debian Testing (muy pronto), que deseen probar o instalar la aplicacion solo bastara:

apt-get install hydra

Solo nos queda agradecer al upstream  (Van Hauser) quien nos colaboro enormente he hizo que esto fuera posible, agregando la excepción en la licencia. Igualmente agradecer a @drjunix por el gran trabajo realizado en el empaquetado de esta gran aplicación.

LFM: Un Administrador de archivos por Consola

Muchos conocen a MC (midnight commander) un excelente administrador de archivos por consola. En esta ocasion quiero presentarles a LFM una aplicacion similar desarrollada en Python la cual tiene caracteristicas muy interesantes, algunas de estas son:

  • Administrador de archivos para plataformas UNIX
  • 2 Paneles
  • Pestañas
  • Favoritos
  • Historial
  • Facil acceso a la shell
  • Directa integracion con los comandos find, grep, dh y otras herramientas
  • Color de acuerdo a la extension del archivo
  • Incluye un visor llamaro pyview
  • Muchas mas..

Requerimientos

  • Python V2.4 o superior
  • Plataforma UNIX
  • ncurses >= v5.x

Instalación

Para instalar LFM en  Debian  o en alguna distribucion basada en debian, lo podemos hacer la siguiente forma:

apt-get install lfm

Algunos pantallazos:

 

 

Como pueden ver, es una interesante herramienta que para todos los amantes de la consola puede llegar a ser muy util, o incluso sacarte de cualquier contratiempo. Espero que la prueben y publiquen sus cometarios.

 

[Howto]: Como crear alias en GNU/Linux Debian

Los alias son comandos personalizados que se crean apartir de otros comandos mas generales, es decir, con los alias nos podemos ahorrar el esfuerzo de escribir un comando demasiado largo (incluyendo los parametros), cambiandolo por uno mucho mas corto. Esto se utiliza generalmente en operaciones y acciones que se suelen  repetir con determinada frecuencia, las cuales son demasiadas largas, un ejemplo cuando nos conectamos por ssh a un servidor  con determinada IP y puerto. Sin embargo,  una definicion mas formal:

En informática alias es una orden disponible en varios intérpretes de comandos tales como los shells de Unix, 4DOS/4NT y Windows PowerShell, que permite reemplazar una palabra o serie de palabras con otra. Su uso principal es el de abreviar órdenes o para añadir argumentos de forma predeterminada a una orden que se usa con mucha frecuencia. Los alias se mantienen hasta que se termina la sesión en la terminal, pero normalmente se suelen añadir en el fichero de configuración del intérprete de órdenes (~/.cshrc o /etc/csh.cshrc (aplicado a todo el sistema) para csh, o ~/.bashrc o si quieres aplicarlo a todo el sistema /etc/bashrc o /etc/bash.bashrc para bash) de forma que siempre están disponibles para todas las sesiones de terminal.

Como bien lo dice  la definicion, existen dos formas  para crear un alias:

  1. Alias temporal:  Solo funciona hasta que se cierre la terminal. Para crearlo es muy sencillo, la sintaxis debe ser: alias nombre=’comando’
  2. Si quisieramos crear un alias para conectarnos al servidorA hariamos lo siguiente:

    alias servidorA=’ssh usuario@127.0.0.1 -p 22′

    Ahora lo ejecutamos:

    De esta forma, quedaria nuestro alias creado, pero cuando la consola fuera cerrada, el alias desapareceria.

  3. Sin embargo podemos crear los alias de forma permantente para cualquier usuario,  para esto la sintaxis es igual, lo unico que debemos hacer es agregar el comando en el .bashrc  del usuario y agregar al alias:

nano /home/usuario/.bashrc y agregamos el alias

alias servidorA=’ssh usuario@127.0.0.1 -p 22′

Guardamos,  y listo solo nos queda probar el alias

De esta forma quedara listo nuestro alias.

Los alias son muy utiles para aquellos SySAdmin que diariamente tiene que administrar diferentes tipos de servidores, y realizar las mismas tareas en cada uno de ellos.

Libro: Enrutamiento avanzado y control de tráfico en GNU/Linux

Revisando y organizando mi disco duro, me encontré con este pequeño ebook, escrito por Bert Hubert, el cual nos habla de los conceptos de enrutamiento con iproute2, entre otras cosas. Aunque el libro es algo viejo, todavía sirver para entender los conceptos, sin importar cual sea la herramienta.

Espero que  les agrade. el libro lo pueden descargar en el siguiente enlace: Enrutamiento avanzado y control de tráfico en GNU/Linux