Java examples for Network:IP Address
Checks if a subnet contains a specific IP address.
/**/* ww w. j a v a 2s . c om*/ * Copyright 2009-2011 ?cole de technologie sup?rieure, * Communication Research Centre Canada, * Inocybe Technologies Inc. and 6837247 CANADA Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ //package com.java2s; import java.net.InetAddress; public class Main { /** * Checks if a subnet contains a specific IP address. * @param network The network address. * @param netmask The subnet mask. * @param ip The IP address to check. * @return A boolean value. */ public static boolean contains(InetAddress network, InetAddress netmask, InetAddress ip) { byte[] networkBytes = network.getAddress(); byte[] netmaskBytes = netmask.getAddress(); byte[] ipBytes = ip.getAddress(); /* check IPv4/v6-compatibility or parameters: */ if (networkBytes.length != netmaskBytes.length || netmaskBytes.length != ipBytes.length) { return false; } /* Check if the masked network and ip addresses match: */ for (int i = 0; i < netmaskBytes.length; i++) { int mask = netmaskBytes[i] & 0xff; if ((networkBytes[i] & mask) != (ipBytes[i] & mask)) { return false; } } return true; } }