Saltar al contenido

¿Cómo puedo generar un rango de direcciones IP dada la dirección IP inicial y final?

El paso a paso o código que hallarás en este post es la solución más sencilla y válida que encontramos a tu duda o problema.

Solución:

Tenga en cuenta que cada uno de los 4 componentes de una dirección IPv4 es en realidad un número hexadecimal entre 00 y FF.

Si cambia sus direcciones IP de inicio y fin a números enteros sin signo de 32 bits, puede pasar del valor más bajo al más alto y convertir cada valor que recorra en el formato de dirección IP.

El rango en el ejemplo que das es C0A80002 a C0A800FE.

Aquí hay un enlace al código que convierte entre un número hexadecimal y una dirección IPv4

http://technojeeves.com/joomla/index.php/free/58-convert-ip-address-to-number

Aquí hay una implementación simple que genera lo que solicitó:

public static void main(String args[]) 
    String start = "192.168.0.2";
    String end = "192.168.0.254";

    String[] startParts = start.split("(?<=\.)(?!.*\.)");
    String[] endParts = end.split("(?<=\.)(?!.*\.)");

    int first = Integer.parseInt(startParts[1]);
    int last = Integer.parseInt(endParts[1]);

    for (int i = first; i <= last; i++) 
        System.out.println(startParts[0] + i);
    

Tenga en cuenta que esto solamente trabajo para rangos que involucran el ultimo parte de la dirección IP.

Comienza en 2, cuenta hasta 254 y escribe "192.168.0". en frente de eso:

for (int i = 2; i <= 254; i++) 
    System.out.println("192.168.0." + i);

Te mostramos las reseñas y valoraciones de los lectores

Recuerda que puedes permitirte agregar una reseña si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *