Package com.bytedesk.core.utils
Class IpUtils
java.lang.Object
com.bytedesk.core.utils.IpUtils
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringgetClientIp(jakarta.servlet.http.HttpServletRequest request) 获取访客来源ipstatic StringgetIp(jakarta.servlet.http.HttpServletRequest request) 获取客户端ipstatic String获取服务器IP地址static Stringhostname()获取本机hostnamestatic longipToLong(InetAddress ip) static booleanisIpInCidr(String ip, String cidr) 检查IP是否匹配CIDR格式的IP段static booleanisIpInCidrRange(String ip, String cidr) 检查IP是否匹配CIDR格式的IP段(支持IPv4和IPv6)static booleanisIpInRange(InetAddress ip, InetAddress rangeStart, InetAddress rangeEnd) static booleanisValidCidr(String cidr) 验证CIDR格式是否正确static boolean验证IP地址格式是否正确static void测试CIDR功能的方法static boolean
-
Field Details
-
IPV4_PATTERN
- See Also:
-
IPV6_PATTERN
- See Also:
-
-
Constructor Details
-
IpUtils
public IpUtils()
-
-
Method Details
-
isValidIp
验证IP地址格式是否正确- Parameters:
ip- 要验证的IP地址- Returns:
- 如果格式正确则返回true,否则返回false
-
getIp
获取客户端ip- Parameters:
request-- Returns:
-
getClientIp
获取访客来源ip- Returns:
- ip
-
hostname
获取本机hostname- Returns:
- hostname
-
getServerIp
获取服务器IP地址- Returns:
-
ipToLong
-
isIpInRange
-
testIsIpInRange
-
isIpInCidr
检查IP是否匹配CIDR格式的IP段- Parameters:
ip- 要检查的IP地址cidr- CIDR格式的IP段,如 "192.168.1.0/24"- Returns:
- 如果IP在CIDR范围内返回true,否则返回false
-
isIpInCidrRange
检查IP是否匹配CIDR格式的IP段(支持IPv4和IPv6)- Parameters:
ip- 要检查的IP地址cidr- CIDR格式的IP段- Returns:
- 如果IP在CIDR范围内返回true,否则返回false
-
isValidCidr
验证CIDR格式是否正确- Parameters:
cidr- CIDR格式字符串,如 "192.168.1.0/24"- Returns:
- 如果格式正确返回true,否则返回false
-
testCidrFunctionality
public static void testCidrFunctionality()测试CIDR功能的方法
-