public class Ipv4Util extends Object
pr自:https://gitee.com/loolly/hutool/pulls/161
Modifier and Type | Field and Description |
---|---|
static int |
IP_MASK_MAX
最大掩码位
|
static String |
IP_MASK_SPLIT_MARK
IP与掩码的分割符
|
static String |
IP_SPLIT_MARK
IP段的分割符
|
static String |
LOCAL_IP |
Constructor and Description |
---|
Ipv4Util() |
Modifier and Type | Method and Description |
---|---|
static int |
countByIpRange(String fromIp,
String toIp)
计算IP区间有多少个IP
|
static int |
countByMaskBit(int maskBit,
boolean isAll)
计算子网大小
|
static String |
formatIpBlock(String ip,
String mask)
格式化IP段
|
static Long |
getBeginIpLong(String ip,
int maskBit)
根据 ip/掩码位 计算IP段的起始IP(Long型)
|
static String |
getBeginIpStr(String ip,
int maskBit)
根据 ip/掩码位 计算IP段的起始IP(字符串型)
方法别名:inet_ntoa
|
static Long |
getEndIpLong(String ip,
int maskBit)
根据 ip/掩码位 计算IP段的终止IP(Long型)
注:此接口返回负数,请使用转成字符串后再转Long型
|
static String |
getEndIpStr(String ip,
int maskBit)
根据 ip/掩码位 计算IP段的终止IP(字符串型)
|
static int |
getMaskBitByMask(String mask)
根据子网掩码转换为掩码位
|
static String |
getMaskByIpRange(String fromIp,
String toIp)
根据开始IP与结束IP计算掩码
|
static String |
getMaskByMaskBit(int maskBit)
根据掩码位获取掩码
|
static long |
ipv4ToLong(String strIP)
根据ip地址(xxx.xxx.xxx.xxx)计算出long型的数据
方法别名:inet_aton
|
static long |
ipv4ToLong(String strIP,
long defaultValue)
根据ip地址(xxx.xxx.xxx.xxx)计算出long型的数据, 如果格式不正确返回 defaultValue
|
static boolean |
isInnerIP(String ipAddress)
判定是否为内网IPv4
私有IP: A类 10.0.0.0-10.255.255.255 B类 172.16.0.0-172.31.255.255 C类 192.168.0.0-192.168.255.255 当然,还有127这个网段是环回地址 |
static boolean |
isMaskBitValid(int maskBit)
判断掩码位是否合法
|
static boolean |
isMaskValid(String mask)
判断掩码是否合法
|
static List<String> |
list(String ipRange,
boolean isAll)
智能转换IP地址集合
|
static List<String> |
list(String ip,
int maskBit,
boolean isAll)
根据IP地址、子网掩码获取IP地址区间
|
static List<String> |
list(String ipFrom,
String ipTo)
得到IP地址区间
|
static String |
longToIpv4(long longIP)
根据long值获取ip v4地址:xx.xx.xx.xx
|
static boolean |
matches(String wildcard,
String ipAddress)
检测指定 IP 地址是否匹配通配符 wildcard
|
public static final String LOCAL_IP
public static final String IP_SPLIT_MARK
public static final String IP_MASK_SPLIT_MARK
public static final int IP_MASK_MAX
public static String formatIpBlock(String ip, String mask)
ip
- IP地址mask
- 掩码public static List<String> list(String ipRange, boolean isAll)
ipRange
- IP段,支持X.X.X.X-X.X.X.X或X.X.X.X/XisAll
- true:全量地址,false:可用地址;仅在ipRange为X.X.X.X/X时才生效public static List<String> list(String ip, int maskBit, boolean isAll)
ip
- IP地址maskBit
- 掩码位,例如24、32isAll
- true:全量地址,false:可用地址public static List<String> list(String ipFrom, String ipTo)
ipFrom
- 开始IPipTo
- 结束IPpublic static String longToIpv4(long longIP)
longIP
- IP的long表示形式public static long ipv4ToLong(String strIP)
strIP
- IP V4 地址public static long ipv4ToLong(String strIP, long defaultValue)
strIP
- IP V4 地址defaultValue
- 默认值public static String getBeginIpStr(String ip, int maskBit)
ip
- 给定的IP,如218.240.38.69maskBit
- 给定的掩码位,如30public static Long getBeginIpLong(String ip, int maskBit)
ip
- 给定的IP,如218.240.38.69maskBit
- 给定的掩码位,如30public static String getEndIpStr(String ip, int maskBit)
ip
- 给定的IP,如218.240.38.69maskBit
- 给定的掩码位,如30public static int getMaskBitByMask(String mask)
mask
- 掩码的点分十进制表示,例如 255.255.255.0IllegalArgumentException
- 子网掩码非法public static int countByMaskBit(int maskBit, boolean isAll)
maskBit
- 掩码位isAll
- true:全量地址,false:可用地址public static String getMaskByMaskBit(int maskBit)
maskBit
- 掩码位public static String getMaskByIpRange(String fromIp, String toIp)
fromIp
- 开始IPtoIp
- 结束IPpublic static int countByIpRange(String fromIp, String toIp)
fromIp
- 开始IPtoIp
- 结束IPpublic static boolean isMaskValid(String mask)
mask
- 掩码的点分十进制表示,例如 255.255.255.0public static boolean isMaskBitValid(int maskBit)
maskBit
- 掩码位,例如 24public static boolean isInnerIP(String ipAddress)
A类 10.0.0.0-10.255.255.255 B类 172.16.0.0-172.31.255.255 C类 192.168.0.0-192.168.255.255当然,还有127这个网段是环回地址
ipAddress
- IP地址public static boolean matches(String wildcard, String ipAddress)
wildcard
- 通配符,如 192.168.*.1ipAddress
- 待检测的 IP 地址Copyright © 2024. All rights reserved.