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 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)