私は基本的にipaddressに基づいて何かを印刷している以下のコードを持っています。
private static void getInfo(String ipAddress) {
for (String cidr : myNetworkList) {
if (InetAddressValidator.getInstance().isValid(ipAddress)) {
if (cidr.equals(ipAddress)) {
//Do something
break;
}
}
else {
SubnetUtils subnetUtils = new SubnetUtils(cidr);
if (subnetUtils.getInfo().isInRange(ipAddress)) {
//Do something else
break;
}
}
}
}
-17.151.126.28. ただし、17.24.84.0/24 などの CIDR 表記で IP アドレスを指定すると、次のエラーが発生します。
Exception in thread "main" java.lang.IllegalArgumentException: Could not parse [17.24.84.0/24]
これを解決する方法がわかりません。IpV4アドレスをサポートしていないため、サブネットに問題があることをどこかで読みました。私はネットワークの専門家ではないので、問題がサブネットにあるのか、それとも別のライブラリを使用すべきなのかわかりません。