views:

1326

answers:

2

I am looking for a package that is similar to Net_IPv4 and Net_IPv6 but written for Java. It needs to be able to do the following:

  • Verify an address is valid (e.g. 127.0.0.1 is valid, 127.0.0.257 is not)
  • Return if an address is contained within a subnet (e.g. 127.0.0.11 is in 127.0.0.0/28)
  • Return the broadcast address for a given subnet (e.g. for 127.0.0.0/28 it's 127.0.0.15)

It would be awesome if it could also:

  • Return a list of addresses for a subnet in order
  • Sort a list of addresses

I could probably write a package to do all this, but if someone has already gone through the trouble and most likely has done a better job, I'm all about using that. Anyone know of such a package or packages that could do all this? We are expanding into IPv6, so it needs to work for both IPv4 and IPv6 if possible.

I appreciate any help.

A: 

The InetAddress class, and related subclasses, would be a very good place to start: http://java.sun.com/j2se/1.4.2/docs/api/java/net/InetAddress.html

Jon Cram
+2  A: 

It's only for IPv4, but the SubnetUtils class that is part of Commons Net has the functionality you are looking for. Based on that you could code up an IPv6 version and contribute it back to the project! :)

JLR