public static String getLinuxLocalIp() throws Exception {
String ip = "";
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
NetworkInterface intf = en.nextElement();
String name = intf.getName();
if (!name.contains("docker") && !name.contains("lo")) {
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
String ipaddress = inetAddress.getHostAddress().toString();
if (!ipaddress.contains("::") && !ipaddress.contains("0:0:") && !ipaddress.contains("fe80")) {
ip = ipaddress;
// System.out.println(ipaddress);
}
}
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
return ip;
}
Java获取linuxIP
最新推荐文章于 2024-07-31 04:22:03 发布
该代码段是一个Java方法,用于获取Linux系统中除docker和lo接口外的非环回IP地址。它遍历所有网络接口,检查每个接口的名称,排除特定条件,然后获取每个接口的IP地址,进一步过滤掉IPv6和特定格式的IPv4地址,最终返回符合条件的第一个IP地址。
摘要由CSDN通过智能技术生成