ipv4アドレス(4オクテット)を返すInterfaceAddressがあります。ただし、ネットワークプレフィックスの長さは、インターフェイスに関連付けられているipv6アドレスのもののようです(128として返されます)。正しいネットワークプレフィックス長を見つけるにはどうすればよいですか?
Enumeration<NetworkInterface> NetworkInterface.getNetworkInterfaces()
for (; interfaces.hasMoreElements();) {
final List<InterfaceAddress>interfaceAddresses =
interfaces.nextElement().getInterfaceAddresses();
for (final InterfaceAddress address : interfaceAddresses) {
assert(address.getAddress().getAddress().length == 4); // [sic]
assert(address.getNetworkPrefixLength() < 32); // <- Fails. Actually equals 128
}
}