1
ipv4 주소 (4 옥텟)를 반환하는 InterfaceAddress가 있습니다. 그러나 네트워크 접두사 길이는 인터페이스와 관련된 ipv6 주소의 것 같습니다 (128로 반환 됨). 올바른 네트워크 접두사 길이는 어떻게 찾습니까?v4 및 v6 주소로 인터페이스에서 IPv4 서브넷 마스크를 얻으려면 어떻게해야합니까?
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
}
}