public static InetAddress findAddressOnInterface( final NetworkInterface networkInterface, final InetAddress address, final int subnetPrefix) { final InterfaceAddress interfaceAddress = findAddressOnInterface(NetworkInterfaceShim.DEFAULT, networkInterface, address.getAddress(), subnetPrefix); if (null == interfaceAddress) { return null; } return interfaceAddress.getAddress(); }
public static String findAvailableHostAddress() throws UnknownHostException, SocketException { InetAddress address = InetAddress.getLocalHost(); if (address.isLoopbackAddress()) { for (NetworkInterface networkInterface : Collections .list(NetworkInterface.getNetworkInterfaces())) { if (!networkInterface.isLoopback()) { for (InterfaceAddress interfaceAddress : networkInterface.getInterfaceAddresses()) { InetAddress a = interfaceAddress.getAddress(); if (a instanceof Inet4Address) { return a.getHostAddress(); } } } } } return address.getHostAddress(); }
private NetworkStats.Interface buildInterface(NetworkInterface networkInterface) throws SocketException { final String macAddress = bytesToMacAddressString(networkInterface.getHardwareAddress()); List<InterfaceAddress> interfaceAddresses = networkInterface.getInterfaceAddresses(); final Set<String> addresses = new HashSet<>(interfaceAddresses.size()); for (InterfaceAddress interfaceAddress : interfaceAddresses) { addresses.add(interfaceAddress.getAddress().getHostAddress()); } return NetworkStats.Interface.create( networkInterface.getName(), addresses, macAddress, networkInterface.getMTU(), null ); }
protected InetAddress getBindAddressInSubnetOf(InetAddress inetAddress) { synchronized (networkInterfaces) { for (NetworkInterface iface : networkInterfaces) { for (InterfaceAddress ifaceAddress : getInterfaceAddresses(iface)) { synchronized (bindAddresses) { if (ifaceAddress == null || !bindAddresses.contains(ifaceAddress.getAddress())) { continue; } } if (isInSubnet( inetAddress.getAddress(), ifaceAddress.getAddress().getAddress(), ifaceAddress.getNetworkPrefixLength()) ) { return ifaceAddress.getAddress(); } } } } return null; }
public InetAddress getBroadcastAddress(InetAddress inetAddress) { synchronized (networkInterfaces) { for (NetworkInterface iface : networkInterfaces) { for (InterfaceAddress interfaceAddress : getInterfaceAddresses(iface)) { if (interfaceAddress != null && interfaceAddress.getAddress().equals(inetAddress)) { return interfaceAddress.getBroadcast(); } } } } return null; }
static InterfaceAddress findAddressOnInterface( final NetworkInterfaceShim shim, final NetworkInterface networkInterface, final byte[] queryAddress, final int prefixLength) { InterfaceAddress foundInterfaceAddress = null; for (final InterfaceAddress interfaceAddress : shim.getInterfaceAddresses(networkInterface)) { final byte[] candidateAddress = interfaceAddress.getAddress().getAddress(); if (isMatchWithPrefix(candidateAddress, queryAddress, prefixLength)) { foundInterfaceAddress = interfaceAddress; break; } } return foundInterfaceAddress; }
private NetworkInterface findNetworkInterface() throws SocketException { Enumeration<NetworkInterface> ifcs = NetworkInterface.getNetworkInterfaces(); List<NetworkInterface> possibles = new ArrayList<NetworkInterface>(); while (ifcs.hasMoreElements()) { NetworkInterface ni = ifcs.nextElement(); try { if (ni.supportsMulticast() && ni.isUp()) { for (InterfaceAddress ia : ni.getInterfaceAddresses()) { if (ia != null && ia.getAddress() instanceof java.net.Inet4Address && !ia.getAddress().isLoopbackAddress() && (ni.getDisplayName()==null || !ni.getDisplayName().startsWith("vnic"))) { possibles.add(ni); } } } } catch (SocketException ignored) {} } return possibles.isEmpty() ? null : possibles.get(possibles.size() - 1); }
public Short getAddressNetworkPrefixLength(InetAddress inetAddress) { synchronized (networkInterfaces) { for (NetworkInterface iface : networkInterfaces) { for (InterfaceAddress interfaceAddress : getInterfaceAddresses(iface)) { if (interfaceAddress != null && interfaceAddress.getAddress().equals(inetAddress)) { short prefix = interfaceAddress.getNetworkPrefixLength(); if(prefix > 0 && prefix < 32) return prefix; // some network cards return -1 return null; } } } } return null; }
log.info(" Address: " + interfaceAddress.getAddress()); log.info(" Broadcast: " + interfaceAddress.getBroadcast()); log.info(" Prefix length: " + interfaceAddress.getNetworkPrefixLength());
if (addrs != null && !addrs.isEmpty()) { for (InterfaceAddress interfaceAddress : addrs) { String ip = interfaceAddress.getAddress().getHostAddress(); if (ip == null || ip.length() == 0) continue;
if (networkInterface != null) { for (InterfaceAddress ifaceAddr : networkInterface.getInterfaceAddresses()) { InetAddress addr = ifaceAddr.getAddress(); if (addr instanceof Inet4Address) { bcastInetAddr = ifaceAddr.getBroadcast();
if(Patterns.IP_ADDRESS.matcher(ia.getAddress().getHostAddress()).matches()) { ifaceAddress = ia; Logger.warning("interfaceAddress: " + ia.getAddress().getHostAddress() + "/" + Short.toString(ia.getNetworkPrefixLength())); break; Logger.error("not valid ip: " + ia.getAddress().getHostAddress() + "/" + Short.toString(ia.getNetworkPrefixLength())); ifaceAddress.getAddress().getHostAddress() + "/" + Short.toString(ifaceAddress.getNetworkPrefixLength()));
if (!ifc.isLoopback()) { for (InterfaceAddress ifadr : ifc.getInterfaceAddresses()) { InetAddress adr = ifadr.getAddress(); logger.info("Listening on network interface \"{}\", hostname \"{}\" ({})", ifc.getDisplayName(), adr.getCanonicalHostName(), adr.getHostAddress());
private void updateIpAddress() { try { Enumeration<NetworkInterface> b = NetworkInterface.getNetworkInterfaces(); ipAddress = null; while( b.hasMoreElements()){ NetworkInterface iface = b.nextElement(); if (iface.getName().startsWith("dock")) { continue; } for ( InterfaceAddress f : iface.getInterfaceAddresses()) { if (f.getAddress().isSiteLocalAddress()) { ipAddress = f.getAddress().getHostAddress(); } } } } catch (SocketException e) { e.printStackTrace(); } }
public static InetAddress getLocalAddress() throws SocketException { for (Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); interfaces.hasMoreElements();) { NetworkInterface iface = interfaces.nextElement(); if (iface.isLoopback()) { continue; } for (InterfaceAddress addr : iface.getInterfaceAddresses()) { if (addr != null) { InetAddress iaddr = addr.getAddress(); if (iaddr instanceof Inet4Address) { return iaddr; } } } } return null; }
private boolean testIPv4() { try { Enumeration<NetworkInterface> networks = NetworkInterface.getNetworkInterfaces(); while (networks.hasMoreElements()) { NetworkInterface network = networks.nextElement(); for (InterfaceAddress address : network.getInterfaceAddresses()) { if (address.getAddress() instanceof Inet4Address) { // found IPv4 address // do any other validation of address you may need here return true; } } } return false; } catch (SocketException e) { e.printStackTrace(); throw new IllegalStateException(e); } } }
protected InetAddress getBindAddressInSubnetOf(InetAddress inetAddress) { synchronized (networkInterfaces) { for (NetworkInterface iface : networkInterfaces) { for (InterfaceAddress ifaceAddress : getInterfaceAddresses(iface)) { synchronized (bindAddresses) { if (ifaceAddress == null || !bindAddresses.contains(ifaceAddress.getAddress())) { continue; } } if (isInSubnet( inetAddress.getAddress(), ifaceAddress.getAddress().getAddress(), ifaceAddress.getNetworkPrefixLength()) ) { return ifaceAddress.getAddress(); } } } } return null; }
public InetAddress getBroadcastAddress(InetAddress inetAddress) { synchronized (networkInterfaces) { for (NetworkInterface iface : networkInterfaces) { for (InterfaceAddress interfaceAddress : getInterfaceAddresses(iface)) { if (interfaceAddress != null && interfaceAddress.getAddress().equals(inetAddress)) { return interfaceAddress.getBroadcast(); } } } } return null; }
public Short getAddressNetworkPrefixLength(InetAddress inetAddress) { synchronized (networkInterfaces) { for (NetworkInterface iface : networkInterfaces) { for (InterfaceAddress interfaceAddress : getInterfaceAddresses(iface)) { if (interfaceAddress != null && interfaceAddress.getAddress().equals(inetAddress)) { short prefix = interfaceAddress.getNetworkPrefixLength(); if(prefix > 0 && prefix < 32) return prefix; // some network cards return -1 return null; } } } } return null; }
public static List<String> getAllDefaultNicIps() { final List<String> addrs = new ArrayList<>(); final String pubNic = getDefaultEthDevice(); if (pubNic == null) { return addrs; } NetworkInterface nic = null; try { nic = NetworkInterface.getByName(pubNic); } catch (final SocketException e) { return addrs; } for (InterfaceAddress address : nic.getInterfaceAddresses()) { addrs.add(address.getAddress().getHostAddress().split("%")[0]); } return addrs; }