Package org.jboss.netty.handler.ipfilter
Class IpSubnet
java.lang.Object
org.jboss.netty.handler.ipfilter.IpSubnet
- All Implemented Interfaces:
Comparable<IpSubnet>
,IpSet
- Direct Known Subclasses:
IpSubnetFilterRule
This class allows to check if an IP V4 or V6 Address is contained in a subnet.
Supported IP V4 Formats for the Subnets are: 1.1.1.1/255.255.255.255 or 1.1.1.1/32 (CIDR-Notation) and (InetAddress,Mask) where Mask is a integer for CIDR-notation or a String for Standard Mask notation.
Example1:
IpV4Subnet ips = new IpV4Subnet("192.168.1.0/24");
System.out.println("Result: "+ ips.contains("192.168.1.123"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example1 bis:
IpV4Subnet ips = new IpV4Subnet(inetAddress, 24);
where inetAddress is 192.168.1.0 and inetAddress2 is 192.168.1.123
Example2:
IpV4Subnet ips = new IpV4Subnet("192.168.1.0/255.255.255.0");
System.out.println("Result: "+ ips.contains("192.168.1.123"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example2 bis:
IpV4Subnet ips = new IpV4Subnet(inetAddress, "255.255.255.0");
where inetAddress is 192.168.1.0 and inetAddress2 is 192.168.1.123
Supported IP V6 Formats for the Subnets are: a:b:c:d:e:f:g:h/NN (CIDR-Notation) or any IPV6 notations (like a:b:c:d::/NN, a:b:c:d:e:f:w.x.y.z/NN) and (InetAddress,Mask) where Mask is a integer for CIDR-notation and (InetAddress,subnet).
Example1:
IpSubnet ips = new IpSubnet("1fff:0:0a88:85a3:0:0:0:0/24");
IpSubnet ips = new IpSubnet("1fff:0:0a88:85a3::/24");
System.out.println("Result: "+ ips.contains("1fff:0:0a88:85a3:0:0:ac1f:8001"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example1 bis:
IpSubnet ips = new IpSubnet(inetAddress, 24);
where inetAddress2 is 1fff:0:0a88:85a3:0:0:ac1f:8001
Supported IP V4 Formats for the Subnets are: 1.1.1.1/255.255.255.255 or 1.1.1.1/32 (CIDR-Notation) and (InetAddress,Mask) where Mask is a integer for CIDR-notation or a String for Standard Mask notation.
Example1:
IpV4Subnet ips = new IpV4Subnet("192.168.1.0/24");
System.out.println("Result: "+ ips.contains("192.168.1.123"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example1 bis:
IpV4Subnet ips = new IpV4Subnet(inetAddress, 24);
where inetAddress is 192.168.1.0 and inetAddress2 is 192.168.1.123
Example2:
IpV4Subnet ips = new IpV4Subnet("192.168.1.0/255.255.255.0");
System.out.println("Result: "+ ips.contains("192.168.1.123"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example2 bis:
IpV4Subnet ips = new IpV4Subnet(inetAddress, "255.255.255.0");
where inetAddress is 192.168.1.0 and inetAddress2 is 192.168.1.123
Supported IP V6 Formats for the Subnets are: a:b:c:d:e:f:g:h/NN (CIDR-Notation) or any IPV6 notations (like a:b:c:d::/NN, a:b:c:d:e:f:w.x.y.z/NN) and (InetAddress,Mask) where Mask is a integer for CIDR-notation and (InetAddress,subnet).
Example1:
IpSubnet ips = new IpSubnet("1fff:0:0a88:85a3:0:0:0:0/24");
IpSubnet ips = new IpSubnet("1fff:0:0a88:85a3::/24");
System.out.println("Result: "+ ips.contains("1fff:0:0a88:85a3:0:0:ac1f:8001"));
System.out.println("Result: "+ ips.contains(inetAddress2));
Example1 bis:
IpSubnet ips = new IpSubnet(inetAddress, 24);
where inetAddress2 is 1fff:0:0a88:85a3:0:0:ac1f:8001
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CIDR
Internal representationprivate static final InternalLogger
-
Constructor Summary
ConstructorsConstructorDescriptionIpSubnet()
Create IpSubnet for ALL (used for ALLOW or DENY ALL)Create IpSubnet using the CIDR or normal Notation
i.e.:
IpSubnet subnet = new IpSubnet("10.10.10.0/24"); or
IpSubnet subnet = new IpSubnet("10.10.10.0/255.255.255.0"); or
IpSubnet subnet = new IpSubnet("1fff:0:0a88:85a3:0:0:0:0/24");IpSubnet
(InetAddress inetAddress, int cidrNetMask) Create IpSubnet using the CIDR NotationIpSubnet
(InetAddress inetAddress, String netMask) Create IpSubnet using the normal Notation -
Method Summary
Modifier and TypeMethodDescriptionint
Compare two IpSubnetboolean
Compares the given IP-Address against the Subnet and returns true if the ip is in the subnet-ip-range and false if not.boolean
contains
(InetAddress inetAddress) Compares the given InetAddress against the Subnet and returns true if the ip is in the subnet-ip-range and false if not.boolean
int
hashCode()
toString()
-
Field Details
-
logger
-
cidr
Internal representation
-
-
Constructor Details
-
IpSubnet
public IpSubnet()Create IpSubnet for ALL (used for ALLOW or DENY ALL) -
IpSubnet
Create IpSubnet using the CIDR or normal Notation
i.e.:
IpSubnet subnet = new IpSubnet("10.10.10.0/24"); or
IpSubnet subnet = new IpSubnet("10.10.10.0/255.255.255.0"); or
IpSubnet subnet = new IpSubnet("1fff:0:0a88:85a3:0:0:0:0/24");- Parameters:
netAddress
- a network address as string.- Throws:
UnknownHostException
-
IpSubnet
Create IpSubnet using the CIDR Notation- Throws:
UnknownHostException
-
IpSubnet
Create IpSubnet using the normal Notation- Throws:
UnknownHostException
-
-
Method Details
-
contains
Compares the given IP-Address against the Subnet and returns true if the ip is in the subnet-ip-range and false if not.- Parameters:
ipAddr
- an ipaddress- Returns:
- returns true if the given IP address is inside the currently set network.
- Throws:
UnknownHostException
-
contains
Compares the given InetAddress against the Subnet and returns true if the ip is in the subnet-ip-range and false if not. -
toString
-
equals
-
hashCode
public int hashCode() -
compareTo
Compare two IpSubnet- Specified by:
compareTo
in interfaceComparable<IpSubnet>
-