Hi Prasad,
Welcome to JavaRanch. The short answer is no since the java.net package doesn't support raw sockets which is required to use the ARP protocol. The longer answer is probably either by using native code as you suggested, or a Runtime.exec() command that would enumerate all the nodes on a LAN. Either of these methods is going to be platform specific. You could use the latter method using the native ping and parse the results of an entire subnet. That has several problems, performance being one and the possibility that firewalls are filtering ICMP packets. There is one other possibility,
JPCap, which can handle raw sockets, but the support for APR is really crude and you will have to fully understand to protocol to use it since you will need to build the packets from scatch.
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher