Detectando una dirección IP en conflicto a través de Linux.
Mayo 11th, 2010
En redes grandes y sin control es muy común encontrarse con IP duplicadas, si bien es un problema sencillo de resolver “Cuando lo encontramos”; suele causar dolores de cabeza hasta los mas experimentados administradores que muchas veces recurren a soluciones tales como:
- Cortar segmentos de la red.
- Comprar software costosos.
- Incorporar Hardware tipo cazafantasmas con luces psicodélicas.
- Enviar memos y reprimir a los empleados que no son de sistemas, que no tienen la mas mínima idea de lo que es una dirección de IP.
Si en nuestra red tenemos una pc con linux esto es muy sencillo de resolver, el paquete se llama: arping.
Pasos para utilizarlo:
1) Instalación
sudo apt-get install arping
2) Uso
sudo arping -I eth0 192.168.0.1 ARPING 192.168.0.1 60 bytes from 00:26:55:36:ec:a1 (192.168.0.1): index=0 time=74.863 usec 60 bytes from 00:1a:92:4e:4c:9e (192.168.0.1): index=1 time=160.933 usec
Como se puede observar el problema aquí es una IP duplicada asociada a dispositivos de red diferentes (placa de red, switch, router).
Su utilidad principal es hacer ping a direcciones mac, por ejemplo:
sudo arping -I eth0 00:26:55:2e:95:EE ARPING 00:26:55:2e:95:EE 98 bytes from 192.168.0.1 (00:26:55:2e:95:EE): icmp_seq=2738 time=771.392 msec 98 bytes from 192.168.0.1 (00:26:55:2e:95:EE): icmp_seq=2740 time=770.830 msec
Esto ultimo resulta interesante de utilizarlo en redes WIFI. Entonces, de manera muy sencilla y sin costos adicionales resolvimos un problema con Linux, espero les sea útil esta información.
Gbarcode. Codigos de barra con Ruby
Marzo 16th, 2010
Gbarcode es una librería de generación de códigos de barra para Ruby. Es una extensión de C que envuelve el proyecto GNU Barcode. Se distribuye en formato GEM
Link: http://gbarcode.rubyforge.org/
Ejemplo de uso:
require 'rubygems'
require 'gbarcode'
# Incluir el módulo
include Gbarcode
# Existen tres pasos para generar un codigo de barras
# 1) preparar el espacio para el string
# 2) codificar el string como un codigo de barras
# 3) imprimir el codigo de barras
# preparar el codigo de barras para el string "TEST1234"
bc = barcode_create("TEST1234")
# codificar el codigo de barras usando code 39,
# desde que code 39 no usa dígito de verificacion (checksum),
# lo podemos pasar en un flag
barcode_encode(bc, BARCODE_NO_CHECKSUM | BARCODE_39)
#imprimir el codigo de barras usando postcript
barcode_print(bc, File.new("testout.ps", "w"), BARCODE_OUT_PS)
# ó
barcode_print(bc, File.new("testout.eps", "w"), BARCODE_OUT_EPS)


