网络信息
使用getNetworkInterfaces方法即可得到当前机器上所有的网络接口。
import Java.net.Inet4Address;
import Java.net.InetAddress;
import Java.net.NetworkInterface;
import Java.util.Enumeration;
public class NetworkInterfaceTest {
public static void main(String[] args) throws Exception {
// 获得本机的所有网络接口
Enumeration<NetworkInterface> nifs = NetworkInterface.getNetworkInterfaces();
while (nifs.hasMoreElements()) {
NetworkInterface nif = nifs.nextElement();
// 获得与该网络接口绑定的 IP 地址,一般只有一个
Enumeration<InetAddress> addresses = nif.getInetAddresses();
while (addresses.hasMoreElements()) {
InetAddress addr = addresses.nextElement();
if (addr instanceof Inet4Address) { // 只关心 IPv4 地址
System.out.println("网卡接口名称:" + nif.getName());
System.out.println("网卡接口地址:" + addr.getHostAddress());
System.out.println();
}
}
}
}
}
鲲鹏上执行结果:
[root@centos7 test]# Java NetworkInterfaceTest 网卡接口名称:br-4932c6ca6ce6 网卡接口地址:192.168.48.1 网卡接口名称:docker0 网卡接口地址:172.17.0.1 网卡接口名称:eth1 网卡接口地址:122.0.0.154 网卡接口名称:eth0 网卡接口地址:11.0.0.154 网卡接口名称:lo 网卡接口地址:127.0.0.1
父主题: Java