java.net.InetAddress

此类表示Internet协议(IP)地址。
IP地址是IP使用的32位或128位无符号数字,是构建UDP和TCP等协议的低级协议。IP地址体系结构由RFC 790定义:分配号码,RFC 1918:专用因特网的地址分配,RFC 2365:管理范围的IP组播,以及RFC 2373:IP版本6寻址体系结构。InetAddress的实例由IP地址和可能的相应主机名组成(取决于它是使用主机名构造还是已经完成反向主机名解析)。

方法 描述
InetAddress getByName(String host) 通过域名或者IP构建一个InetAddress对象
InetAddress[] getAllByName(String host) 通过域名构建一个InetAddress[]
InetAddress getLocalHost() 获取本机相关的InetAddress对象
String getHostName() 获取主机名
String getCanonicalHostName() 获取主机名
byte[] getAddress() 获取主机地址
String getHostAddress() 获取主机地址
static InetAddress getLoopbackAddress() 返回环回地址
boolean isAnyLocalAddress() 用于检查通配符地址中的InetAddress的实用程序例程。
boolean isLinkLocalAddress() 用于检查InetAddress是否为链接本地地址的实用例程。
boolean isLoopbackAddress() 用于检查InetAddress是否为环回地址的实用程序例程。
boolean isMCGlobal() 用于检查多播地址是否具有全局范围的实用例程。
boolean isMCLinkLocal() 用于检查多播地址是否具有链接范围的实用例程。
boolean isMCNodeLocal() 用于检查多播地址是否具有节点范围的实用例程。
boolean isMCOrgLocal() 用于检查多播地址是否具有组织范围的实用例程。
boolean isMCSiteLocal() 用于检查多播地址是否具有站点范围的实用程序例程。
boolean isMulticastAddress() 用于检查InetAddress是否为IP多播地址的实用程序例程。
boolean isReachable(int timeout) 测试该地址是否可访问。
boolean isReachable(NetworkInterface netif, int ttl, int timeout) 测试该地址是否可访问。
boolean isSiteLocalAddress() 用于检查InetAddress是否为站点本地地址的实用程序例程。
  • 判断是IPV4还是IPV6
public int getVersion(InetAddress address){
    byte[] addresses = address.getAddress();
    if (addresses.length == 4) {
        return 4;
    }
    else if (addresses.length == 6){
        return 6;
    }
    else {
        return -1;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_27870421/article/details/90110338