package inas.test;

import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration; /**
* IP工具类
* @author lyh
* @version 2012-7-5
* @see IpGetter
* @since
*/
public class IpGetter
{
/**
* 单网卡名称
*/
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)
{
System.out.println("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)
{
System.out.println("IpGetter.getLocalIP出现异常!异常信息:" + e.getMessage());
}
return ip;
}
public static void main(String[] args) {
IpGetter ipGetter =new IpGetter();
String str = IpGetter.getLocalIP();
System.out.println("ip是:"+str);
} }

linux环境下获取真实的ip地址的更多相关文章

  1. Linux下获取本机IP地址的代码

    Linux下获取本机IP地址的代码,返回值即为互联网标准点分格式的字符串. #define ETH_NAME "eth0" //获得本机IP地址 char* GetLocalAdd ...

  2. 多路由器环境下路由器的入口IP地址及DHCP设置探讨

    多路由器环境下路由器的入口IP地址及DHCP设置探讨 这里把路由器的LAN口管理IP地址称为路由器的入口地址,把直接接入互联网的路由器称为主路由器,其他路由器称为从路由器.在多路由器环境下路由器的设置 ...

  3. 使用nginx代理后以及配置https后,如何获取真实的ip地址

    使用nginx代理后以及配置https后,如何获取真实的ip地址 Date:2018-8-27 14:15:51 使用nginx, apache等反向代理后,如果想获取请求的真实ip,要在nginx中 ...

  4. Windows下获取本机IP地址方法介绍

    Windows下获取本机IP地址方法介绍 if((hostinfo = gethostbyname(name)) != NULL) { #if 1 ; printf("IP COUNT: % ...

  5. QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址

    获取主机名称 /* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_ ...

  6. java获取真实的ip地址

    直接上代码,获取请求主机的IP地址,如果通过代理进来,则透过防火墙获取真实IP地址 public class IPUtil { private static final Logger logger = ...

  7. java获取真实的IP地址工具类

    在实际项目中,有调用微信支付完成支付功能,在微信支付的请求参数中需要传递一个本机的ip地址,java代码运行环境目前为windows10以及centos7. 以下为获取ip地址工具类: package ...

  8. Java获取真实的IP地址--转载

    // 获取真实IP的方法() public String getIpAddr() { String ip = request.getHeader("x-forwarded-for" ...

  9. VC windows 多网卡情况下 获取当前网卡ip地址

    参考 代码如下 记录下以后用得到或者能帮到有需要的朋友 #include <iostream> #include <WinSock2.h> #include <Iphlp ...

随机推荐

  1. Leetcode: Remove Duplicates from Sorted List II 解题报告

    Remove Duplicates from Sorted List II Given a sorted linked list, delete all nodes that have duplica ...

  2. Spring事务管理要点总结

    # Spring事务管理要点总结 ### 要点---- 事务是企业级应用中必不可缺少的技术,用来确保数据的完整性和一致性.- Spring事务管理并不实现事务管理的实现,而是借助Hibernate\J ...

  3. Nginx+Tomcat搭建高性能负载均衡集群(转)

    转载自:http://blog.csdn.net/wang379275614/article/details/47778201 一.       工具 nginx-1.8.0 apache-tomca ...

  4. Android 两级菜单栏

    这里来记录下,android 的两级菜单栏,就是顶部切换,和底部的切换.因为在这个上面整了太久的时间,所以特此记录下. 第一种: 先介绍一个网上别人写出来的效果吧,这个当时积分真的很高..CSDN30 ...

  5. 【windows】查询占用端口的程序——记一次解决webloigc启动失败的过程

    . . . . . 我们经常使用的网络程序偶尔会遇到端口被占用的情况,但是却苦于无法找到占用端口的程序,这篇文章将教你两个命令,轻松排查端口占用问题. 关键命令: 1.查询端口占用:netstat - ...

  6. git学习相关的博客地址

    Git分支管理策略: http://www.ruanyifeng.com/blog/2012/07/git.html Git 使用规范流程: http://www.ruanyifeng.com/blo ...

  7. PHP判断ajax请求:HTTP_X_REQUESTED_WITH

    PHP判断ajax请求的原理: 在发送ajax请求的时候,我们可以通过XMLHttpRequest这个对象,创建自定义的 header头信息, 在jquery框架中,对于通过它的$.ajax, $.g ...

  8. python 字符串和整数,浮点型互相转换

    在编程当中,经常要用到字符串的互相转换, 现在记录 python 里面的字符串和整数是怎么转换的. int(str) 函数将 符合整数的规范的字符串 转换成 int 型. num2 = "1 ...

  9. STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)

    Ⅰ.概述 上一篇文章讲述的内容是:三通道逐次转换(单次.单通道软件触发),也就是说3条通道要三次软件触发才能完成转换,而且是通过软件读取转换数值. 本文讲述三通道DMA连续转换(3通道.软件单次触发) ...

  10. ie6 无法显示网页 已终止操作

    已终止操作原因: 在文件加载完成之前执行了dom操作,如appendChild, innerHTML等 解决办法: ready后再执行