Trouver toutes les adresses IP dans le réseau local

Je veux trouver toutes les adresses IP des périphériques du réseau local, je suis actuellement connecté à l'aide de code Java. L'utilitaire utile Advanced IP Scanner est capable de trouver des adresses IP dans mon sous-réseau de 192.168.178/24:

Trouver toutes les adresses IP dans le réseau local

Selon cette réponse, j'ai construit mon code de la manière suivante:

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");
    }
}

Malheureusement, cela ne veut pas imprimer tous les résultats, ce qui signifie qu'aucune adresse IP n'est accessible. Pourquoi? Il existe des appareils dans mon réseau local, comme vu dans le Advanced IP Scanner scan.

J'ai vérifié que le code sur mon réseau, à l'aide de diffusion, que le mien IP ou d'essayer "www.google.com". Dit toujours "non accessible". Cochez cette réponse: stackoverflow.com/questions/9922543/...
Double Possible de Comment obtenir une liste d'IP connecté au même réseau (sous-réseau) à l'aide de Java

OriginalL'auteur BullyWiiPlaza | 2015-09-10