在java中获取服务器多网卡的ip地址
2013-09-06 00:00
302 查看
摘要: 在java中获取服务器多网卡的ip地址,包括每个网卡的ipv4,ipv6地址,可以根据需要获取相应的地址
public static String getIP() { Enumeration<?> netInterfaces; List<NetworkInterface> netlist=new ArrayList<NetworkInterface>(); try { netInterfaces = NetworkInterface.getNetworkInterfaces();//获取当前环境下的所有网卡 while (netInterfaces.hasMoreElements()) { NetworkInterface ni=(NetworkInterface)netInterfaces.nextElement(); if(ni.isLoopback()) continue;//过滤 lo网卡 netlist.add(0,ni);//倒置网卡顺序 } /* 用上述方法获取所有网卡时,得到的顺序与服务器中用ifconfig命令看到的网卡顺序相反, 因此,想要从第一块网卡开始遍历时,需要将Enumeration<?>中的元素倒序 */ for(NetworkInterface list:netlist) { //遍历每个网卡 Enumeration<?> cardipaddress = list.getInetAddresses();//获取网卡下所有ip while(cardipaddress.hasMoreElements()){//将网卡下所有ip地址取出 InetAddress ip = (InetAddress) cardipaddress.nextElement(); if(!ip.isLoopbackAddress()){ if(ip.getHostAddress().equalsIgnoreCase("127.0.0.1")){//guo //return ip.getHostAddress(); continue; } if(ip instanceof Inet6Address) { //过滤ipv6地址 add by liming 2013-9-3 //return ip.getHostAddress(); continue; } if(ip instanceof Inet4Address) { //返回ipv4地址 return ip.getHostAddress(); } } return ip.getLocalHost().getHostAddress();//默认返回 } } } catch (SocketException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return ""; }
相关文章推荐
- java获取所有网卡和ip地址
- Java获取客户端所在的IP地址和服务器地址
- java中获取当前服务器的Ip地址的方法
- java中获取当前服务器的Ip地址的方法
- java中获取当前服务器的Ip地址
- JAVA获取服务器本机IP地址和MAC代码
- JAVA 获取本地所有的IP地址,多网卡多IP,单网卡多个IP
- java获取本地IP地址,java获取本地多张网卡IP
- JAVA服务器获取手机设备的IP地址
- JAVA获取本机网卡IP地址
- java中获取当前服务器的Ip地址
- Java里面获取当前服务器的IP地址
- java中通过网卡名称获取IP地址
- Java里面获取当前服务器的IP地址
- java简单的获取windows系统网卡mac地址
- Java获取IP地址:request.getRemoteAddr()警惕
- java获取客户端请求IP地址 获取公网ip
- Flex+Java 获取本机和客户端的IP地址
- java 根据IP地址获取地理位置
- MFC 获取本机IP地址(多个网卡)