Calculando mascaras IPs

A raíz de los artículos que he ido escribiendo sobre direcciones ips peligrosas y preparando la lista de las IP que prefiero no recibir, me encontré con la necesidad de calcular los rangos; concretamente, el problema se produce porque en nirsoft.net aparecen publicadas las direcciones en formato:

desde aaa.bbb.ccc.ddd hasta aaa.bbb.ccc.ddd

mientras que para establecer los filtros de iptables, necesito un formato

aaa.bbb.ccc.ddd/ee

Entonces, el problema esta en como pasar de una notación a otra. La forma que he encontrado, seguro que no es la única, y puede que no sea la mas correcta, pero sin embargo, a mi me ha funcionado y os la quiero compartir por lo sencilla que es. Ademas, he desarrollado funciones para Excel, y ahora me encuentro con una hoja de calculo muy cómoda.

Para realizar la conversión, necesitaremos tres pasos

  1. Obtener el wildCard correspondiente al rango
  2. Obtener la netmask del wildcard anterior
  3. Calcular el Address Prefix Length

Para el primer paso, solo tenemos que restar la dirección inicial de la final, grupo a grupo

2014-05-16_17h37_18

La función correspondiente para excel, seria:

2014-05-16_17h39_30

 

El siguiente paso es calcular la mascara; solo es el complemento a 255 de la wildCard, de forma que hacemos

2014-05-16_17h43_03y ya tenemos la mascara de red que en Excel seria

2014-05-16_17h45_09

Por ultimo calculamos el Address Prefix Length que puede que sea un poco mas sofisticado; se trata de saber cuantos 1 hay en la representación binaria de la mascara de red, en nuestro caso, para 255.248.0.0 seria:

2014-05-16_17h49_27

y nos da 13, para Excel:

2014-05-16_17h52_27

Con lo que nuestro rango quedaría representado por

2.143.0.0/13

Esta ultima rutina (IpMaskLen) no la he escrito yo, y quiero atribuir el merito a quien lo tiene, en este caso, la obtuve de http://trk.free.fr/ipcalc/, en donde disponeis de una hoja de calculo que ayuda a trabajar con calculo de redes, y a la que solo le faltaba este pequeño detalle.

 

 

 

 

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Excel, Formacion, Redes y etiquetada , , , , . Guarda el enlace permanente.

Deja un comentario