There is a private network .../16. Hosts supports SNMP(udp) and ICMP protocols, but broadcasts are denied. The goal is to find all live ip adresses.
i tried to use snmp4j and simple datagramm sockets, but after the first ~1000-1500 responces, the system arp cache is full and programm crashes with exception

Java Code:
java.net.SocketException: No buffer space available  
        at sun.nio.ch.DatagramChannelImpl.send0(Native Method)  
        at sun.nio.ch.DatagramChannelImpl.sendFromNativeBuffer(DatagramChannelImpl.java:301)  
        at sun.nio.ch.DatagramChannelImpl.send(DatagramChannelImpl.java:281)  
        at sun.nio.ch.DatagramChannelImpl.send(DatagramChannelImpl.java:250)

anyone else encountered this problem? Whether there are any standard tools/libraries/protocols for such discovery?