the method isReachable() return false for all ip.That doesn't happen when I run it. I get the same reachable hosts that I can see in my ARP table (arp -a).
For the ARP i don't see what you mean by : you can't send ARP packets directly from Java... I actually use Jpcap library to send ARP packets.That's what I mean. You can't do it from Java. You have to add something.
This can be useful to detect intrusion...If some host try to connect to my subnet then the java program (that is listening) detect a new host and can send an alert !A new host which magically has the correct subnet:IP address? and that is magically plugged in to your router? That would be a fairly major physical intrusion. You don't want to write software for that sort of thing, you want locks on your doors. Security cameras. Access cards, etc.
can you post an example of the usage of isReachable().Why? Your code works for me.