一. net工具包
<!--net工具--> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.8.0</version> </dependency>
commons-net
是 Apache Commons 项目下的一个子项目,提供了一组网络协议的实现,使得 Java 开发者能够更方便地进行网络编程。commons-net
支持多种常见的网络协议,包括但不限于 FTP、TFTP、Telnet、rlogin、SMTP、POP3、NNTP 和 Finger 等。
通过使用 commons-net
,开发者可以更容易地创建网络客户端和服务器,而无需深入了解底层网络协议的细节。这个库为每种协议都提供了相应的 API,使得网络编程变得更加简洁和直观。
二. 工具使用
if (isValidIpSubnet(ipSubnet)) {//判断是否为Ip网段
String[] parts = ipSubnet.split("/");
String ip = parts[0];
int maskLength = Integer.parseInt(parts[1]);//子网掩码长度
SubnetUtils subnetUtils = new SubnetUtils(ipRule);
String string = subnetUtils.getInfo().toString();//网段信息
String firstIp = subnetUtils.getInfo().getLowAddress();// 获取子网内的第一个IP地址
String lastIp = subnetUtils.getInfo().getHighAddress();// 获取子网内的最后一个IP地址
}
/**
* 验证IP网段是否为合法CIDR格式
*
* @param ipSubnet IP网段:192.168.1.0/24;
* @return
*/
public static boolean isValidIpSubnet(String ipSubnet) {
String[] parts = ipSubnet.split("/");
if (parts.length != 2) {
return false;
}
return isValidIp(parts[0]) && isValidCidr(parts[1]);
}