Java获取本地主机上具有合法IPV4地址的网卡信息
时间: 2024-09-26 09:11:51 浏览: 62
在Java中获取本地主机上具有合法IPv4地址的网卡信息,你可以使用`java.net.NetworkInterface`类配合`InetAddress`类来实现。以下是一个简单的示例:
```java
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class Main {
public static void main(String[] args) {
try {
// 获取所有网络接口
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
while (networkInterfaces.hasMoreElements()) {
NetworkInterface ni = networkInterfaces.nextElement();
if (!ni.isUp() || ni.isLoopback() || ni.isVirtual() || !ni.isUp()) { // 排除不可用、环回、虚拟接口
continue;
}
// 获取接口的地址列表
Enumeration<InetAddress> inetAddresses = ni.getInetAddresses();
while (inetAddresses.hasMoreElements()) {
InetAddress addr = inetAddresses.nextElement();
if (addr instanceof Inet4Address && addr.isSiteLocalAddress()) { // 只处理IPv4地址且是局域网地址
System.out.println("网卡名称: " + ni.getName());
System.out.println("IP地址: " + addr.getHostAddress());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这个代码会打印出所有可用的物理网络接口及其合法的IPv4地址。注意,`isSiteLocalAddress()`用于检查地址是否是本地连接地址,如局域网(LAN)。
阅读全文
相关推荐



