Generar IPs con Java

29/Ene/2021 Java , , 2 Comentarios
Programación en Java

Hoy vamos a ver cómo generar IPs con Java. La idea surge de la necesidad de disponer de un conjunto de IPs para realizar unas simulaciones de una pruebas, de ahí este pequeño código que nos permite la generación de IPs.

Números aleatorios

Lo primero es entender qué es una IP o de qué se compone. Si lo vemos de una forma muy sencilla, sin hablar de máscaras, subredes o notaciones CDIR. La IP estaría compuesta por 4 números que van del 0 al 255, cada número separado por un punto. Por lo tanto un conjunto de IPs podrían ser las siguientes:

236.205.19.12
107.40.175.172
98.172.91.43
187.227.66.225
72.169.19.77

En este artículos hablamos de generar IPs v4. No entramos en cómo generar IPs v6.

Así que lo primero que necesitamos es generar con Java números aleatorios del 0 al 255. Como ya vimos en el artículo de generar un número al Azar necesitamos del método .random() de la clase Math. Este método nos devuelve un número mayor o igual de 0.0 y menor a 1.0. Así que lo que tendremos que hacer es multiplicar su valor por 256 y convertirlo a un formato entero.

public static int numeroAleatorio() {
  // Método que devuelve un número aleatorio entre 0 y 255
  return (int) (Math.random()*256);
}

StringBuilder para construir la IP

Ahora tendremos que ir componiendo una cadena formada por 4 números aleatorios separados por puntos. Para ir construyendo cadenas y como buena práctica es utilizar un StringBuilder, más que ir sumando cadenas. Así que que creamos nuestro StringBuilder.

StringBuilder sbIP = new StringBuilder();

Lo siguiente será el ir añadiendo número y punto por tres ocasiones, así que utilizamos un bucle for, y acabamos con un punto.

for (int x=0; x<3; x++) {
  sbIP.append(String.valueOf(numeroAleatorio())).append(".");
}

sbIP.append(String.valueOf(numeroAleatorio()));

Vamos a incluirlo en un método ipAleatoria() para poder invocarlo desde otros sitios.

public static String ipAleatoria() {
    StringBuilder sbIP = new StringBuilder();
    for (int x=0; x<3; x++) {
        sbIP.append(String.valueOf(numeroAleatorio())).append(".");
    }
    sbIP.append(String.valueOf(numeroAleatorio()));

    return sbIP.toString();

}

Generar lista de IPs aleatorias

Lo último que vamos a hacer es mostrar un listado de IPs invocando al método ipAleatoria() que acabamos de crear. Nuevamente utilizamos un bucle for para sacar la información por pantalla mediante un System.out.

for (int x=0;x<100;x++) {
    System.out.println(ipAleatoria());
}

Y ya tenemos como generar IPs con Java de forma aleatoria.

2 comentarios en “Generar IPs con Java”

Víctor Cuervo

Hernan D Briceño

Muy Instructivo y Practico. Gracias.

Víctor Cuervo

Víctor Cuervo

Me alegra mucho que así sea. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.