Java Code Examples for java.net.InetAddress#getAddress()
The following examples show how to use
java.net.InetAddress#getAddress() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SnmpEngineId.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
/** * Generates an engine Id based on an InetAddress. Handles IPv4 and IPv6 addresses. The creation algorithm uses the passed IANA number. * @param iana Your enterprise IANA number. * @param addr The IP address the SNMPv3 Adaptor Server is listening to. * @return The generated engine Id. * @since 1.5 * @exception UnknownHostException if the provided <CODE>InetAddress </CODE> is null. */ public static SnmpEngineId createEngineId(int iana, InetAddress addr) { if(addr == null) throw new IllegalArgumentException("InetAddress is null."); byte[] address = addr.getAddress(); byte[] engineid = new byte[5 + address.length]; engineid[0] = (byte) ( (iana & 0xFF000000) >> 24 ); engineid[0] |= 0x80; engineid[1] = (byte) ( (iana & 0x00FF0000) >> 16 ); engineid[2] = (byte) ( (iana & 0x0000FF00) >> 8 ); engineid[3] = (byte) (iana & 0x000000FF); if(address.length == 4) engineid[4] = 0x01; if(address.length == 16) engineid[4] = 0x02; for(int i = 0; i < address.length; i++) { engineid[i + 5] = address[i]; } return new SnmpEngineId(engineid); }
Example 2
Source File: Subnet.java From ftpproxy with GNU General Public License v2.0 | 6 votes |
/** * Creates a <code>Subnet</code> object from the specified * address and subnet mask. * * @param inetAddr the address * @param d the subnet mask represented as the number of significant * bits (0 through 32) */ public Subnet(InetAddress inetAddr, short d) { if (d > 32) { throw new IllegalArgumentException("Invalid format: " + d); } this.addr = inetAddr.getAddress(); int m = (0xFFFFFFFF << d) & 0xFFFFFFFF; this.mask = new byte[4]; for (int i = 0; i < 4; i++) { mask[i] = (byte) ((m >> 8 * (3 - i)) & 0xFF); addr[i] = (byte) (addr[i] & mask[i]); } }
Example 3
Source File: NodeSmartContractPermissioningController.java From besu with Apache License 2.0 | 6 votes |
private static Bytes encodeIp(final InetAddress addr) { // InetAddress deals with giving us the right number of bytes final byte[] address = addr.getAddress(); final byte[] res = new byte[32]; if (address.length == 4) { // lead with 10 bytes of 0's // then 2 bytes of 1's res[10] = (byte) 0xFF; res[11] = (byte) 0xFF; // then the ipv4 System.arraycopy(address, 0, res, 12, 4); } else { System.arraycopy(address, 0, res, 0, address.length); } return Bytes.wrap(res); }
Example 4
Source File: InitialToken.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
private byte[] getAddrBytes(InetAddress addr) throws GSSException { int addressType = getAddrType(addr); byte[] addressBytes = addr.getAddress(); if (addressBytes != null) { switch (addressType) { case CHANNEL_BINDING_AF_INET: if (addressBytes.length != Inet4_ADDRSZ) { throw new GSSException(GSSException.FAILURE, -1, "Incorrect AF-INET address length in ChannelBinding."); } return (addressBytes); case CHANNEL_BINDING_AF_INET6: if (addressBytes.length != Inet6_ADDRSZ) { throw new GSSException(GSSException.FAILURE, -1, "Incorrect AF-INET6 address length in ChannelBinding."); } return (addressBytes); default: throw new GSSException(GSSException.FAILURE, -1, "Cannot handle non AF-INET addresses in ChannelBinding."); } } return null; }
Example 5
Source File: Helperfunctions.java From open-rmbt with Apache License 2.0 | 6 votes |
public static String anonymizeIp(final InetAddress inetAddress) { try { final byte[] address = inetAddress.getAddress(); address[address.length - 1] = 0; if (address.length > 4) // ipv6 { for (int i = 6; i < address.length; i++) address[i] = 0; } String result = InetAddresses.toAddrString(InetAddress.getByAddress(address)); if (address.length == 4) result = result.replaceFirst(".0$", ""); return result; } catch (final Exception e) { e.printStackTrace(); return null; } }
Example 6
Source File: SdpProvider.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
@Override public boolean match(Action action, InetAddress address, int port) { if (action != action()) return false; byte[] candidate = address.getAddress(); // same address type? if (candidate.length != addressAsBytes.length) return false; // check bytes for (int i=0; i<prefixByteCount; i++) { if (candidate[i] != addressAsBytes[i]) return false; } // check remaining bits if ((prefixByteCount < addressAsBytes.length) && ((candidate[prefixByteCount] & mask) != (addressAsBytes[prefixByteCount] & mask))) return false; return super.match(action, address, port); }
Example 7
Source File: Database.java From mldht with Mozilla Public License 2.0 | 6 votes |
/** * Generate a write token, which will give peers write access to the DB. * * @param ip * The IP of the peer * @param port * The port of the peer * @return A Key */ ByteWrapper genToken(Key nodeId, InetAddress ip, int port, Key lookupKey) { updateTokenTimestamps(); byte[] tdata = new byte[Key.SHA1_HASH_LENGTH + ip.getAddress().length + 2 + 8 + Key.SHA1_HASH_LENGTH + sessionSecret.length]; // generate a hash of the ip port and the current time // should prevent anybody from crapping things up ByteBuffer bb = ByteBuffer.wrap(tdata); nodeId.toBuffer(bb); bb.put(ip.getAddress()); bb.putShort((short) port); bb.putLong(timestampCurrent.get()); lookupKey.toBuffer(bb); bb.put(sessionSecret); // shorten 4bytes to not waste packet size // the chance of guessing correctly would be 1 : 4 million and only be valid for a single infohash byte[] token = Arrays.copyOf(ThreadLocalUtils.getThreadLocalSHA1().digest(tdata), 4); return new ByteWrapper(token); }
Example 8
Source File: Inet4AddressBlock.java From armeria with Apache License 2.0 | 6 votes |
@Override public boolean test(InetAddress address) { requireNonNull(address, "address"); if (maskBits == 0) { return true; } final byte[] bytes; if (address instanceof Inet6Address) { bytes = ipv6ToIpv4Address((Inet6Address) address); } else { bytes = address.getAddress(); } if (bytes == null) { return false; } final int addr = ipv4AddressToInt(bytes); return addr >= lowerBound && addr <= upperBound; }
Example 9
Source File: UserSpecifiedNetwork.java From h2o-2 with Apache License 2.0 | 5 votes |
/** * Test if an internet address lives on this user specified network. * @param ia Address to test. * @return true if the address is on the network; false otherwise. */ public boolean inetAddressOnNetwork(InetAddress ia) { int i = (_o1 << 24) | (_o2 << 16) | (_o3 << 8) | (_o4 << 0); byte[] barr = ia.getAddress(); if (barr.length != 4) { return false; } int j = (((int)barr[0] & 0xff) << 24) | (((int)barr[1] & 0xff) << 16) | (((int)barr[2] & 0xff) << 8) | (((int)barr[3] & 0xff) << 0); // Do mask math in 64-bit to handle 32-bit wrapping cases. long mask1 = ((long)1 << (32 - _bits)); long mask2 = mask1 - 1; long mask3 = ~mask2; int mask4 = (int) (mask3 & 0xffffffff); if ((i & mask4) == (j & mask4)) { return true; } return false; }
Example 10
Source File: SocketSystem.java From baratine with GNU General Public License v2.0 | 5 votes |
@Override public int compare(InetAddress a, InetAddress b) { byte []bytesA = a.getAddress(); byte []bytesB = b.getAddress(); if (bytesA[0] == bytesB[0]) { } else if (bytesA[0] == 0) { return 1; } else if (bytesB[0] == 0) { return -1; } else if (bytesA[0] == 127) { return 1; } else if (bytesB[0] == 127) { return -1; } if (bytesA.length != bytesB.length) { return bytesA.length - bytesB.length; } for (int i = 0; i < bytesA.length; i++) { if (bytesA[i] != bytesB[i]) { return bytesA[i] - bytesB[i]; } } return 0; }
Example 11
Source File: InetAddresses.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
/** * Returns true if the InetAddress is either 255.255.255.255 for IPv4 or * ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff for IPv6. * * @return true if the InetAddress is either 255.255.255.255 for IPv4 or * ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff for IPv6 * @since 10.0 */ public static boolean isMaximum(InetAddress address) { byte[] addr = address.getAddress(); for (int i = 0; i < addr.length; i++) { if (addr[i] != (byte) 0xff) { return false; } } return true; }
Example 12
Source File: Socks5Message.java From T0rlib4j with Apache License 2.0 | 5 votes |
/** * Construct client request or server response. * * @param cmd * - Request/Response code. * @param ip * - IP field. * @paarm port - port field. */ public Socks5Message(int cmd, InetAddress ip, int port) { super(cmd, ip, port); if (ip == null) { this.host = "0.0.0.0"; } else { this.host = ip.getHostName(); } this.version = SOCKS_VERSION; byte[] addr; if (ip == null) { addr = new byte[4]; addr[0] = addr[1] = addr[2] = addr[3] = 0; } else { addr = ip.getAddress(); } if (addr.length == 4) { addrType = SOCKS_ATYP_IPV4; } else { addrType = SOCKS_ATYP_IPV6; } data = new byte[6 + addr.length]; data[0] = (byte) SOCKS_VERSION; // Version data[1] = (byte) command; // Command data[2] = (byte) 0; // Reserved byte data[3] = (byte) addrType; // Address type // Put Address System.arraycopy(addr, 0, data, 4, addr.length); // Put port data[data.length - 2] = (byte) (port >> 8); data[data.length - 1] = (byte) (port); }
Example 13
Source File: Database.java From bt with Apache License 2.0 | 5 votes |
private boolean checkToken(ByteWrapper toCheck, Key nodeId, InetAddress ip, int port, Key lookupKey, long timeStamp) { byte[] tdata = new byte[Key.SHA1_HASH_LENGTH + ip.getAddress().length + 2 + 8 + Key.SHA1_HASH_LENGTH + sessionSecret.length]; ByteBuffer bb = ByteBuffer.wrap(tdata); nodeId.toBuffer(bb); bb.put(ip.getAddress()); bb.putShort((short) port); bb.putLong(timeStamp); bb.put(lookupKey.getHash()); bb.put(sessionSecret); byte[] rawToken = Arrays.copyOf(ThreadLocalUtils.getThreadLocalSHA1().digest(tdata), 4); return toCheck.equals(new ByteWrapper(rawToken)); }
Example 14
Source File: MessageEncoderV1.java From atomix with Apache License 2.0 | 5 votes |
@Override protected void encodeAddress(ProtocolMessage message, ByteBuf buffer) { final InetAddress senderIp = address.address(); final byte[] senderIpBytes = senderIp.getAddress(); buffer.writeByte(senderIpBytes.length); buffer.writeBytes(senderIpBytes); buffer.writeInt(address.port()); }
Example 15
Source File: NetMaskImpl.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
/** * Compares this group to the specified object. Returns true if the object * passed in matches the group represented. * * @param p the object to compare with. * @return true if the object passed in matches the subnet mask, * false otherwise. */ public boolean equals (Object p) { if (p instanceof PrincipalImpl || p instanceof NetMaskImpl){ PrincipalImpl received = (PrincipalImpl) p; InetAddress addr = received.getAddress(); if (SNMP_LOGGER.isLoggable(Level.FINEST)) { SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "equals", "Received Address : " + addr); } byte[] recAddr = addr.getAddress(); for(int i = 0; i < subnet.length; i++) { if (SNMP_LOGGER.isLoggable(Level.FINEST)) { SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "equals", "(recAddr[i]) : " + (recAddr[i] & 0xFF)); SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "equals", "(recAddr[i] & subnet[i]) : " + ((recAddr[i] & (int)subnet[i]) &0xFF) + " subnet[i] : " + (subnet[i] &0xFF)); } if((recAddr[i] & subnet[i]) != subnet[i]) { if (SNMP_LOGGER.isLoggable(Level.FINEST)) { SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "equals", "FALSE"); } return false; } } if (SNMP_LOGGER.isLoggable(Level.FINEST)) { SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "equals", "TRUE"); } return true; } else return false; }
Example 16
Source File: ConnectionUtils.java From flink with Apache License 2.0 | 4 votes |
/** * Try to find a local address which allows as to connect to the targetAddress using the given * strategy. * * @param strategy Depending on the strategy, the method will enumerate all interfaces, trying to connect * to the target address * @param targetAddress The address we try to connect to * @param logging Boolean indicating the logging verbosity * @return null if we could not find an address using this strategy, otherwise, the local address. * @throws IOException */ private static InetAddress findAddressUsingStrategy(AddressDetectionState strategy, InetSocketAddress targetAddress, boolean logging) throws IOException { // try LOCAL_HOST strategy independent of the network interfaces if (strategy == AddressDetectionState.LOCAL_HOST) { InetAddress localhostName; try { localhostName = InetAddress.getLocalHost(); } catch (UnknownHostException uhe) { LOG.warn("Could not resolve local hostname to an IP address: {}", uhe.getMessage()); return null; } if (tryToConnect(localhostName, targetAddress, strategy.getTimeout(), logging)) { LOG.debug("Using InetAddress.getLocalHost() immediately for the connecting address"); // Here, we are not calling tryLocalHostBeforeReturning() because it is the LOCAL_HOST strategy return localhostName; } else { return null; } } final InetAddress address = targetAddress.getAddress(); if (address == null) { return null; } final byte[] targetAddressBytes = address.getAddress(); // for each network interface Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces(); while (e.hasMoreElements()) { NetworkInterface netInterface = e.nextElement(); // for each address of the network interface Enumeration<InetAddress> ee = netInterface.getInetAddresses(); while (ee.hasMoreElements()) { InetAddress interfaceAddress = ee.nextElement(); switch (strategy) { case ADDRESS: if (hasCommonPrefix(targetAddressBytes, interfaceAddress.getAddress())) { LOG.debug("Target address {} and local address {} share prefix - trying to connect.", targetAddress, interfaceAddress); if (tryToConnect(interfaceAddress, targetAddress, strategy.getTimeout(), logging)) { return tryLocalHostBeforeReturning(interfaceAddress, targetAddress, logging); } } break; case FAST_CONNECT: case SLOW_CONNECT: LOG.debug("Trying to connect to {} from local address {} with timeout {}", targetAddress, interfaceAddress, strategy.getTimeout()); if (tryToConnect(interfaceAddress, targetAddress, strategy.getTimeout(), logging)) { return tryLocalHostBeforeReturning(interfaceAddress, targetAddress, logging); } break; case HEURISTIC: if (LOG.isDebugEnabled()) { LOG.debug("Choosing InetAddress.getLocalHost() address as a heuristic."); } return InetAddress.getLocalHost(); default: throw new RuntimeException("Unsupported strategy: " + strategy); } } // end for each address of the interface } // end for each interface return null; }
Example 17
Source File: TestInetAddressServlet.java From appengine-java-vm-runtime with Apache License 2.0 | 4 votes |
/** * Test properties of an instance of InetAddress obtained via getLocalHost() * @param localHost * @param response * @throws IOException * @throws AssertionFailedException */ private static void testLocalHost(InetAddress localHost, HttpServletResponse response) throws IOException, AssertionFailedException { assertNotNull("localhost", localHost, response); assertTrue("instanceof Inet4Addr", localHost instanceof Inet4Address, response); //getAddress byte[] bytes = localHost.getAddress(); assertNotNull("localhost address-bytes", bytes, response); assertEquals("localhost address bytes.length", 4, bytes.length, response); assertEquals("first byte of localhost address", 127, bytes[0], response); assertEquals("last byte of localhost address", 1, bytes[3], response); String name = localHost.getCanonicalHostName(); assertEquals("getCanonicalHostName", "localhost", name, response); //getHostAddress should return the loopback address String address = localHost.getHostAddress(); assertEquals("getHostAddress", "127.0.0.1", address, response); //getHostName name = localHost.getHostName(); assertEquals("getHostName", "localhost", name, response); //Misc Properties assertFalse("isAnyLocalAddress", localHost.isAnyLocalAddress(), response); assertFalse("isLinkLocalAddress", localHost.isLinkLocalAddress(), response); assertTrue("isLoopbackAddress", localHost.isLoopbackAddress(), response); assertFalse("isLoopbackAddress", localHost.isMCGlobal(), response); assertFalse("isMCLinkLocal", localHost.isMCLinkLocal(), response); assertFalse("isMCNodeLocal", localHost.isMCNodeLocal(), response); assertFalse("isMCOrgLocal", localHost.isMCOrgLocal(), response); assertFalse("isMCSiteLocal", localHost.isMCSiteLocal(), response); assertFalse("isMulticastAddress", localHost.isMulticastAddress(), response); assertFalse("isSiteLocalAddress", localHost.isSiteLocalAddress(), response); //toString String s = localHost.toString(); assertEquals("toString", "localhost/127.0.0.1", s, response); //isReachable assertFalse("isReachable", localHost.isReachable(1000), response); //Can't test version of isReachable() that takes a NetworkInterface //because it is not possible to get a network interface without triggering the ptrace sandbox //localHost.isReachable(netif, ttl, timeout); }
Example 18
Source File: HostAddress.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 4 votes |
public HostAddress() throws UnknownHostException { InetAddress inetAddress = getLocalInetAddress(); addrType = getAddrType(inetAddress); address = inetAddress.getAddress(); }
Example 19
Source File: SnmpString.java From jdk1.8-source-analysis with Apache License 2.0 | 2 votes |
/** * Constructs a new <CODE>SnmpString</CODE> from the specified <CODE> InetAddress </Code>. * @param address The <CODE>InetAddress </CODE>. * * @since 1.5 */ public SnmpString(InetAddress address) { value = address.getAddress(); }
Example 20
Source File: SnmpString.java From jdk8u-jdk with GNU General Public License v2.0 | 2 votes |
/** * Constructs a new <CODE>SnmpString</CODE> from the specified <CODE> InetAddress </Code>. * @param address The <CODE>InetAddress </CODE>. * * @since 1.5 */ public SnmpString(InetAddress address) { value = address.getAddress(); }