1
我有一個InterfaceAddress返回一個ipv4地址(4個八位字節)。然而,網絡前綴長度似乎是與接口相關聯的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
}
}