Package io.undertow.util
Class NetworkUtils
- java.lang.Object
-
- io.undertow.util.NetworkUtils
-
public class NetworkUtils extends Object
- Author:
- Stuart Douglas, baranowb
-
-
Field Summary
Fields Modifier and Type Field Description static StringIP4_EXACT?static StringIP4_SEGMENTIPv4Segment: (25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])static StringIP6_EXACTIPV6 match. ?static StringIP6_SEGMENTIPv6Segment: ([0-9a-fA-F]{1,4}) - 1 to 4 hex digits
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringformatPossibleIpv6Address(String address)static InetAddressparseIpv4Address(String addressString)static InetAddressparseIpv6Address(String addressString)static byte[]parseIpv6AddressToBytes(String addressString)static StringtoObfuscatedString(InetAddress address)
-
-
-
Field Detail
-
IP4_SEGMENT
public static final String IP4_SEGMENT
IPv4Segment: (25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])- See Also:
- Constant Field Values
-
IP4_EXACT
public static final String IP4_EXACT
?: - unnamed groups are used for performance reasons. IPv4Segment: 25[0-5]|((2[0-4]|1){0,1}[0-9]){0,1}[0-9]) -extra () is not needed but makes it clear for OR IPv4Address: (IPv4Segment\.){3,3}IPv4Segment- See Also:
- Constant Field Values
-
IP6_SEGMENT
public static final String IP6_SEGMENT
IPv6Segment: ([0-9a-fA-F]{1,4}) - 1 to 4 hex digits- See Also:
- Constant Field Values
-
IP6_EXACT
public static final String IP6_EXACT
IPV6 match. ?: - unnamed groups are used for performance reasons. Requirements: - match full or partial IPV6 ( sliding '::') - match end to start - ^$ to ensure it does not match part of some random (\d:){n,m} - IPv4-Embedded IPv6 Address - TODO: special types of addresses ? Explanation: IPv6Segment: ([0-9a-fA-F]{1,4}) - 1 to 4 hex digits IPv6Address: (IPv6Segment:){1,n}IPv6Segment or (IPv6Segment:){1,x}(:IPv6Segment){1,y} where x+y<8 ^ shift of segments ~left to right with qualifiers Above is just general form for pure IPv6 without any spices ^(?:([0-9a-fA-F]{1,4}:){7,7}(?:[0-9a-fA-F]){1,4} - 1:2:3:4:5:6:7:8 |(?:([0-9a-fA-F]{1,4}:)){1,7}(?:(:)) - 1:: 1:2:3:4:5:6:7:: |(?:([0-9a-fA-F]{1,4}:)){1,6}(?:(:[0-9a-fA-F]){1,4}) - 1::8 1:2:3:4:5:6::8 |(?:([0-9a-fA-F]{1,4}:)){1,5}(?:(:[0-9a-fA-F]{1,4})){1,2} - 1::7:8 1:2:3:4:5::8 |(?:([0-9a-fA-F]{1,4}:)){1,4}(?:(:[0-9a-fA-F]{1,4})){1,3} - 1::6:7:8 1:2:3:4::8 |(?:([0-9a-fA-F]{1,4}:)){1,3}(?:(:[0-9a-fA-F]{1,4})){1,4} - 1::5:6:7:8 1:2:3::8 |(?:([0-9a-fA-F]{1,4}:)){1,2}(?:(:[0-9a-fA-F]{1,4})){1,5} - 1::4:5:6:7:8 1:2::8 |(?:([0-9a-fA-F]{1,4}:))(?:(:[0-9a-fA-F]{1,4})){1,6} - 1::3:4:5:6:7:8 1::8 |(?:(:))(?:((:[0-9a-fA-F]{1,4}){1,7}|(?:(:)))) - ::2:3:4:5:6:7:8 ::8 :: |(?:([0-9a-fA-F]{1,4}:)){1,4}(?:(:IPv4Address)))$ - 1.2.3.4::192.168.1.1 1::192.168.1.1- See Also:
- Constant Field Values
-
-
Method Detail
-
parseIpv4Address
public static InetAddress parseIpv4Address(String addressString) throws IOException
- Throws:
IOException
-
parseIpv6Address
public static InetAddress parseIpv6Address(String addressString) throws IllegalArgumentException, UnknownHostException
-
parseIpv6AddressToBytes
public static byte[] parseIpv6AddressToBytes(String addressString) throws IllegalArgumentException, UnknownHostException
-
toObfuscatedString
public static String toObfuscatedString(InetAddress address)
-
-