// 获取本机168.168.168.0/18 网段的地址
public static void main(String[] args){
String subNet = "168.168.168.50";
String substring = subNet.substring(0, subNet.lastIndexOf("."));
try {
Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while (allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = allNetInterfaces.nextElement();
// 回环口,和未启动的网口排除
if (netInterface.isLoopback() || !netInterface.isUp()) {
continue;
} else {
Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
ip = addresses.nextElement();
if (ip != null && ip instanceof Inet4Address) {
String hostAddress = ip.getHostAddress();
if(hostAddress.contains(substring)) {
System.out.println(hostAddress);
}
}
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
}
java 获取本机某个网段的IP地址
最新推荐文章于 2023-03-07 10:56:54 发布