Encuentra todas las direcciones IP en la red local

Quiero encontrar todas las direcciones IP de los dispositivos en la red local a la que estoy conectado actualmente usando el código Java. La utilidad útilAdvanced IP Scanner es capaz de encontrar varias direcciones IP en misubred de192.168.178/24:

De acuerdo aesta respuesta, construí mi código de la siguiente manera:

import java.io.IOException;
import java.net.InetAddress;

public class IPScanner
{
    public static void checkHosts(String subnet) throws IOException
    {
        int timeout = 100;
        for (int i = 1; i < 255; i++)
        {
            String host = subnet + "." + i;
            if (InetAddress.getByName(host).isReachable(timeout))
            {
                System.out.println(host + " is reachable");
            }
        }
    }

    public static void main(String[] arguments) throws IOException
    {
        checkHosts("192.168.178");
    }
}

Desafortunadamente, esto no imprime ningún resultado, lo que significa que no se puede acceder a ninguna dirección IP. ¿Por qué? Hay dispositivos en mi red local como se ve en elAdvanced IP Scanner escanear.

Respuestas a la pregunta(4)

Su respuesta a la pregunta