可以说我有这个:
SubnetUtils utils = new SubnetUtils("192.168.1.0/24");
utils.getInfo().getNetmask() // = 255.255.255.0
是否有一种简单的方法可以反转掩码(Cisco ACL 样式)?
eg.: 0.0.0.255
可以说我有这个:
SubnetUtils utils = new SubnetUtils("192.168.1.0/24");
utils.getInfo().getNetmask() // = 255.255.255.0
是否有一种简单的方法可以反转掩码(Cisco ACL 样式)?
eg.: 0.0.0.255
我提出了一个可能适用于您的情况的代码。但是,也许有一个库可以以更优化的方式完成它?
public String reverseMask(String mask) {
String[] octets = mask.split("\\.");
StringBuilder sb = new StringBuilder();
for (int i=0;i<4;i++) {
sb.append(String.valueOf(0xFF ^ Integer.valueOf(octets[i])))
.append(i==3 ? "" : ".");
}
return sb;
}