`

Linux上使用Java获取本机Ip地址的问题

阅读更多

可以用如下代码:

 

InetAddress inet = InetAddress.getLocalHost();
System.out.println("本机的ip=" + inet.getHostAddress());
 


在window下面可以工作。在Linux下返回127.0.0.1。主要是在linux下返回的是/etc/hosts中配置的localhost的ip地址,而不是网卡的绑定地址。后来改用网卡的绑定地址,可以取到本机的ip地址:)

代码如下:


//根据网卡取本机配置的IP
Enumeration netInterfaces=NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while(netInterfaces.hasMoreElements())
{
    NetworkInterface ni=(NetworkInterface)netInterfaces.nextElement();
    System.out.println(ni.getName());
    ip=(InetAddress) ni.getInetAddresses().nextElement();
    if( !ip.isSiteLocalAddress()
            && !ip.isLoopbackAddress()
            && ip.getHostAddress().indexOf(":")==-1)
    {
        System.out.println("本机的ip=" + ip.getHostAddress());
        break;
    }
    else
    {
        ip=null;
    }
}
 
分享到:
评论
2 楼 wtslh 2009-11-20  
谢谢了,使用上
1 楼 wjason 2009-03-05  
从baidu搬过来的时候,
格式不好,
调整了一下~~

相关推荐

    java获取linux服务器上的IP操作

    主要介绍了java获取linux服务器上的IP操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    java编程实现获取服务器IP地址及MAC地址的方法

    主要介绍了java编程实现获取机器IP地址及MAC地址的方法,实例分析了Java分别针对单网卡及多网卡的情况下获取服务器IP地址与MAC地址的相关技巧,需要的朋友可以参考下

    通过IP获取MAC地址代码

    LINUX编程,通过IP地址获取MAC地址代码。方

    java获取MAC物理地址和ip地址

    获取计算机的mac地址和ip地址,mac地址返回的是一个list,ip地址是string

    java获取客户端ip及mac地址

    java获取客户端ip及mac地址方法,适合web开发者

    通过java获取远程机器mac地址

    在对网内主机进行监控时需要通过java获取远程机器的mac地址

    Linux环境下通过c代码获取本机IP

    之前用gethostname和gethostbyname获取本机IP地址运行没有问题,把程序部署到另一台机器上出问题了。在网上找了些例子一样用不了。后找了个能用的,创建一个SOCKET然后获取套接字参数。代码如下: #include #...

    IP地址HTTP请求工具类

    获取本地IP地址,获取本地Host名称,获取Linux下的IP地址,获取用户真实IP地址,get/post请求 相应的工具类

    ip登记管理代码java版

    只要在局域网中选择一台电脑,安装本软件,就可以在局域网中其他电脑上,打开浏览器,自动获取本机ip地址及其他硬件信息,自动向软件登记ip地址,也可以登录软件,进行ip地址查询。 技术参数:本软件对系统的要求极...

    ip登记管理软件自己开发的(截图版)

    只要在局域网中选择一台电脑,安装本软件,就可以在局域网中其他电脑上,打开浏览器,自动获取本机ip地址及其他硬件信息,自动向软件登记ip地址,也可以登录软件,进行ip地址查询。 技术参数:本软件对系统的要求极...

    JAVA上百实例源码以及开源项目

    第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在html中 各种EJB之间的...

    JAVA上百实例源码以及开源项目源代码

    第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在html中 各种EJB之间的...

    java获取本类运行机器的Mac

    windows下获取本地连接的mac Linux 获取eth0 的mac 类中有方法可以获取服务器的真实Ip地址,Linux的不是127.0.0.1

    IP地址段的过滤,限制ip,限制主机访问

    如果想禁止指定的ip或者主机名来拒绝某些机器访问,或者指定某些机器来访问。

    ip登记管理软件自己开发的

    只要在局域网中选择一台电脑,安装本软件,就可以在局域网中其他电脑上,打开浏览器,自动获取本机ip地址及其他硬件信息,自动向软件登记ip地址,也可以登录软件,进行ip地址查询。 技术参数:本软件对系统的要求极...

    Java计算子网广播地址

    获取本地IP地址,包括Linux和Windows环境。然后通过计算得到子网广播地址。

    java开源包8

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    RED HAT LINUX 6大全

    14.8.1 在Linux客户上使用smbclient 252 14.8.2 在Linux客户上加载共享 253 14.8.3 在Windows客户上加载共享 253 14.9 公用smb.conf配置选项 253 14.9.1 特殊约定 254 14.9.2 read Only=Versus writeable=Versus ...

    java开源包11

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

Global site tag (gtag.js) - Google Analytics