Linux下获得本机IP(非127.0.0.1)
来源:互联网 发布:网络推广合同保密协议 编辑:程序博客网 时间:2024/06/08 02:54
在Linux下用InetAddress.getLocalHost()方法获取本机IP地址,
得到的结果总是:127.0.1.1。
原来这个是etc/hosts文件中的配置,并非网卡的IP地址。
可用代码如下:
/** * IP工具类 * @author lyh * @version 2012-7-5 * @see IpGetter * @since */public class IpGetter{ /** * 日志 */ private static final Logger log = Logger.getLogger(IpGetter.class); /** * 单网卡名称 */ private static final String NETWORK_CARD = "eth0"; /** * 绑定网卡名称 */ private static final String NETWORK_CARD_BAND = "bond0"; /** * * Description: 得到本机名<br> * @return * @see */ public static String getLocalHostName() { try { InetAddress addr = InetAddress.getLocalHost(); return addr.getHostName(); } catch (Exception e) { log.error("IpGetter.getLocalHostName出现异常!异常信息:" + e.getMessage()); return ""; } } /** * Description: linux下获得本机IPv4 IP<br> * @return * @see */ public static String getLocalIP() { String ip = ""; try { Enumeration<NetworkInterface> e1 = (Enumeration<NetworkInterface>)NetworkInterface.getNetworkInterfaces(); while (e1.hasMoreElements()) { NetworkInterface ni = e1.nextElement(); //单网卡或者绑定双网卡 if ((NETWORK_CARD.equals(ni.getName())) || (NETWORK_CARD_BAND.equals(ni.getName()))) { Enumeration<InetAddress> e2 = ni.getInetAddresses(); while (e2.hasMoreElements()) { InetAddress ia = e2.nextElement(); if (ia instanceof Inet6Address) { continue; } ip = ia.getHostAddress(); } break; } else { continue; } } } catch (SocketException e) { log.error("IpGetter.getLocalIP出现异常!异常信息:" + e.getMessage()); } return ip; }}
PS:存在虚拟机的linux的环境可能会多出一个虚拟网卡,virbro,对应的ip地址是 192.168.122.1 。
参考:http://www.iteye.com/topic/654345
- Linux下获得本机IP(非127.0.0.1)
- Linux下获得本机ip
- Linux下获得本机IP
- linux 下获得本机(通用网卡)ip地址
- linux 下获得本机(通用网卡)ip地址
- linux下获得本地真实IP地址,非127.0.0.1
- linux下获得本机ip地址函数
- linux下编程获得本机IP地址
- linux 下获得本机IP地址途径
- Linux系统下获得本机(通用网卡)ip地址
- 获得本机IP
- 获得本机IP
- 获得本机ip
- 得到本机IP非127.0.0.1地址的方法
- 获取本机IP地址,非127.0.0.1
- java获取本机IP地址,非127.0.0.1
- 获得本机IP信息
- 如何获得本机IP
- 增加网站反向链接的10种方法
- 非农数据不及预期,避险情绪推动美元继续攀升
- PhoneGap API中文帮助文档——Storage(存储)
- 电子商务
- 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
- Linux下获得本机IP(非127.0.0.1)
- PhoneGap API中文帮助文档——Contacts(通讯录)
- MVC引入SERVICE层 提高代码重用性 沟通CONTROL和MODEL
- Android进程间通信(IPC)机制Binder简要介绍和学习计划
- 2行代码带来的重启
- EditText的部分属性
- LDD3源码分析之内存映射
- SVM学习——统计学习理论
- Sizeof与Strlen的区别与联系(转自博客园)