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. 【论文笔记】Progressive Neural Networks 渐进式神经网络

    Progressive NN Progressive NN是第一篇我看到的deepmind做这个问题的.思路就是说我不能忘记第一个任务的网络,同时又能使用第一个任务的网络来做第二个任务. 为了不忘记之 ...

  2. mysql 系统表的作用

    mysql 的系统表记录了所有数据库表(包括视图的定义语句)的字段列,顺序,类型等等,知道这些的话可以做些抽取模板淫荡的操作吧 嘿嘿  public void shuaxinglb() { try { ...

  3. spacemacs怎样配置编辑器显示行号?

    spacemacs配置文件.spacemacs文件中查找dotspacemacs-line-numbers. 默认配置为: dotspacemacs-line-numbers nil 修改为(`rel ...

  4. WebAPI 消息处理器

    由上图可以看出消息处理器的使用场合和使用方法. 使用场合: HttpServer 得到请求时. public static class WebApiConfig { public static voi ...

  5. RabbitMQ文档翻译——Hello World!(上)

    文章主要翻译自RabbitMQ官方文档,主要是为了练习英语翻译,顺便学习一下RabbitMQ

  6. SHT30 Linux标准 i2c-dev 读取程序

    #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/sta ...

  7. Azkaban上传出错

    Error initializing project id: 4 version: 2 打包文件上传时,自动生成的中文名导致的,这里的压缩包不能用中文名称.

  8. RavenDb学习(四)处理文档相关性

    RavenDb是文档型数据库,但是我们常常也需要定义对象之间的关系,那RavenDb当中是如何处理的呢? RavenDb提供了优雅的解决方式,使用正确的话,可以减少数据开销以及网络拥堵 Denorma ...

  9. mysql innodb_buffer_pool_size mysql占用内存大小和主从复制并行线程数量

    innodb_buffer_pool_size   set global slave_parallel_workers=4;

  10. PCL点云配准(2)

    (1)正态分布变换进行配准(normal Distributions Transform) 介绍关于如何使用正态分布算法来确定两个大型点云之间的刚体变换,正态分布变换算法是一个配准算法,它应用于三维点 ...