`
NeverGiveUpToChange
  • 浏览: 43938 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java 获取本机IP及判断内外网地址方法

    博客分类:
  • java
 
阅读更多


public class Test {

  
public static final long a1 = getIpNum("10.0.0.0");
public static final long a2 = getIpNum("10.255.255.255");
public static final long b1 = getIpNum("172.16.0.0");
public static final long b2 = getIpNum("172.31.255.255");
public static final long c1 = getIpNum("192.168.0.0");
public static final long c2 = getIpNum("192.168.255.255");
public static final long d1 = getIpNum("10.44.0.0");
public static final long d2 = getIpNum("10.69.0.255");


public static boolean isInnerIP(String ip){  
        long n = getIpNum(ip);
        return (n >= a1 && n <= a2) || (n >= b1 && n <= b2) || (n >= c1 && n <= c2) || (n >= d1 && n <= d2);


private static long getIpNum(String ipAddress) {  
     String [] ip = ipAddress.split("\\.");  
     long a = Integer.parseInt(ip[0]);  
     long b = Integer.parseInt(ip[1]);  
     long c = Integer.parseInt(ip[2]);  
     long d = Integer.parseInt(ip[3]);  
     return a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d;  
}

public static void main(String[] args) throws Exception {
     Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();
     while (e.hasMoreElements()) {
       Enumeration<InetAddress> ee = e.nextElement().getInetAddresses();
       while (ee.hasMoreElements()) {
        String ip = ee.nextElement().getHostAddress();
        System.out.println(ip + " "+ ("127.0.0.1".equals(ip) ? "本机" : (isInnerIP(ip) ? "内网" : "外网")));
       }
     }
}

}
分享到:
评论

相关推荐

    Java 获取本机IP

    总的来说,Java获取本机IP地址和MAC地址涉及了对网络编程底层原理的理解,包括网络接口、IP地址类型以及MAC地址的概念。通过调用Java的网络API,我们可以实现跨平台的网络信息查询,但需要特别注意不同操作系统可能...

    java IP地址工具类,java IP地址获取,java获取客户端IP地址

    5. **IP地址的其他操作**:如计算IP地址的子网掩码、获取IP地址的主机名、判断两个IP地址是否在同一子网等。 对于这个工具类的实现,`IpUtils.java`文件就是关键。打开这个文件,我们可以看到类定义、方法声明和...

    java获取公网IP

    总结来说,Java获取公网IP地址主要依赖于网络请求和第三方服务的配合。`ExternalIpAddressFetcher.java` 类提供了一个简单的方法来实现这个功能,通过向Amazon AWS提供的公共IP检查服务发起HTTP请求,并解析返回的IP...

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

    在Java编程中,获取服务器的IP地址和MAC地址是常见的需求,特别是在网络通信和系统管理中。本篇文章将详细介绍如何使用Java实现这一功能,包括针对单网卡和多网卡环境的情况。 首先,获取服务器的IP地址通常涉及到`...

    Java获取本机MAC地址IP地址主机名

    Java获取本机MAC地址IP地址主机名

    java获取本机外网ip

    通过url链接到一个网址,该网址返回自己的ip地址(通过代理服务器访问)

    纯JAVA实现修改本地IP(swing界面版)

    这个类提供了解析、比较和获取IP地址相关信息的方法。在我们的程序中,我们需要用到这些方法来读取、设置和验证输入的IP地址。 4. **IO流**: `java.io`包中的IO流用于读写数据。在这个应用中,IO流可能被用来保存...

    java判断是内网ip还是公网ip

    在Java编程中,判断一个IP地址是内网IP(私有IP)还是公网IP(全局IP)是一项常见的任务,尤其在网络编程和服务器配置中。内网IP通常用于局域网内部通信,而公网IP则是互联网上的唯一标识。下面将详细探讨如何实现这...

    跨平台 获取本机IP/MAC地址,检测是否内网IP,字符串IP转换成Number地址

    本文将深入探讨如何在不同的操作系统上获取本机的IP和MAC地址,以及如何判断一个IP地址是否为内网IP,并将字符串形式的IP地址转换为数值表示。我们将主要关注以下几个知识点: 1. **跨平台获取本机IP地址**: 跨...

    Java获取客户端真实IP地址

    ### Java获取客户端真实IP地址详解 在Web开发中,获取客户端的真实IP地址是一个常见的需求,尤其是在需要进行地理位置定位、安全审计、流量统计等场景下。然而,在存在反向代理服务器的环境中,传统的`request....

    java获取客户端ip及mac地址

    ### Java 获取客户端 IP 地址 在 Web 开发中,获取客户端 IP 地址是一项非常重要的功能,尤其是在需要记录用户活动、实现地理位置定位...以上就是关于如何在 Java 中获取客户端 IP 地址及 MAC 地址的相关知识点介绍。

    java 获取计算机名与IP地址

    下面将详细介绍如何使用Java获取计算机名和IP地址。 首先,我们来看如何获取计算机名。计算机名通常指的是主机在网络中的标识符,可以通过`java.lang`包中的`InetAddress`类来获取。以下是一个简单的示例: ```...

    java获取当前主机的外网ip

    java获取当前主机的外网ip,简单方便。

    Java获取ip所在地区

    总的来说,通过Java获取IP所在地区涉及到网络编程、二进制文件解析以及数据库操作等多个技术点。正确理解和实现这一过程,可以帮助我们在各种应用场景下,如网站访问统计、网络安全分析等,更好地处理与IP地址相关的...

    java获取ip地址

    ### Java获取IP地址知识点解析 在本篇文章中,我们将深入探讨如何使用Java语言来获取IP地址。这是一项在网络编程中非常基础且重要的技能,能够帮助开发者了解客户端或服务器的网络位置信息。以下是对给定文件中的...

    java拿取本机正在使用的ip及本机mac地址

    在Java编程环境中,获取本机的IP地址和MAC地址是一项常见的需求,特别是在网络通信和设备识别的场景下。本文将详细讲解如何通过Java代码来获取本机正在使用的IP地址(包括IPv4和IPv6)以及MAC地址,并排除虚拟机的IP...

    JAVA获取别人的ip地址

    ### JAVA获取别人IP地址的方法与实现 #### 一、引言 在开发网络应用程序时,经常需要获取客户端的IP地址。这不仅可以用于日志记录、统计分析,还可以用于某些安全控制措施,例如限制某些IP访问服务等。本文将详细...

    Java 实例 - 获取本机ip地址及主机名源代码+详细指导教程.zip

    在提供的压缩包文件"Java 实例 - 获取本机ip地址及主机名源代码+详细指导教程.rar"中,你应该能找到上述代码的实现以及详细的步骤说明,这对于初学者来说是一个很好的学习资源。通过实践和理解这些代码,你可以更好...

    Java取本机IP地址

    非常清楚的介绍了如何使用Java获取本机IP地址,有源码

    用Java编程获得本机和服务器IP地址

    在Java编程中,获取本机和服务器的IP地址是一项常见的任务,这有助于建立网络连接、进行定位服务或者进行网络通信。下面将详细解释如何通过Java实现这个功能。 首先,我们需要了解IP地址的基本概念。IP地址...

Global site tag (gtag.js) - Google Analytics