首页
学习
活动
专区
圈层
工具
发布

Java获取本机IP

服务器或PC一般都拥有多个网卡,每个网卡拥有一个IP地址,但并不是所有的IP地址能被外部或局域网访问,比如说虚拟机网卡地址等等。...也就是说InetAddress.getLocalHost().getHostAddress()的IP不一定是正确的IP。本文介绍两种方式,可以在绝对部分场景下获取到想要的IP地址。...通过过滤获取IP地址 过滤回环网卡、点对点网卡、非活动网卡、虚拟网卡并要求网卡名字是eth或ens开头;再过滤回环地址,并要求是内网地址(非外网) public static List<Inet4Address...) : Optional.of(ipByNi.get(0)); } } return Optional.of(ipByNi.get(0)); } 参考 详谈再论JAVA获取本机...IP地址 Getting the IP address of the current machine using Java How to get Server IP Address and Hostname

8.6K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python 优雅获取本机 IP 方法

    见过很多获取服务器本地IP的代码,个人觉得都不是很好。从网上搜索到一个靠谱的脚本,分享一下! 通过 UDP 获取本机 IP,目前见过最优雅的方法 这个方法是目前见过最优雅获取本机服务器的IP方法了。...而且是利用 UDP 协议来实现的,生成一个UDP包,把自己的 IP 放如到 UDP 协议头中,然后从UDP包中获取本机的IP。 这个方法并不会真实的向外部发包,所以用抓包工具是看不到的。...在 shell 中可以一行调用,获取到本机IP [root@localhost opt]# python -c "import socket;print([(s.connect(('8.8.8.8', ...socket.AF_INET, socket.SOCK_DGRAM)]][0][1])" 192.168.218.140 [root@localhost opt]# 亲测本方法在windows和Linux系统下均可正确获取...IP地址 get_ip.py import socket def get_host_ip():     """     查询本机ip地址     :return: ip     """     try

    10.4K11

    170709-Java实现获取本机Ip工具类

    180709-Java实现获取本机Ip的工具类 获取本机Ip算是比较常见的一个需求场景了,比如业务报警,可能就会带上出问题的机器IP,方便直接上去看日志定位问题,那么问题来了,如何获取机器IP呢?...基本方法 如何获取机器Ip?...当然没问题,拿我本机和阿里服务器执行一下,并没有问题如实的输出了预期的IP 本机执行后截图如下: 阿里云机器执行后截图如下: 再问一句,那是否就真的没有问题了呢?...进阶版 做一点简单的改动,获取IpV4的地址,源码如下 /** * 直接根据第一个网卡地址作为其内网ipv4地址,避免返回 127.0.0.1 * * @return */ public static...java.net.*; import java.util.Enumeration; public class IpUtil { public static final String DEFAULT_IP

    1.5K10
    领券