Here you can find the source of getLocalInetAddresses()
public static List<InetAddress> getLocalInetAddresses()
//package com.java2s; /*//from w ww . j a va2 s . c o m * ============================================================================ * GNU General Public License * ============================================================================ * * Copyright (C) 2015 Infinite Automation Software. All rights reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * When signing a commercial license with Infinite Automation Software, * the following extension to GPL is made. A special exception to the GPL is * included to allow you to distribute a combined work that includes BAcnet4J * without being obliged to provide the source code for any proprietary components. * * See www.infiniteautomation.com for commercial license options. * * @author Matthew Lohbihler */ import java.net.InetAddress; import java.net.NetworkInterface; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { public static List<InetAddress> getLocalInetAddresses() { try { List<InetAddress> result = new ArrayList<InetAddress>(); for (NetworkInterface iface : Collections.list(NetworkInterface .getNetworkInterfaces())) { for (InetAddress addr : Collections.list(iface .getInetAddresses())) { if (!addr.isLoopbackAddress() && addr.isSiteLocalAddress()) result.add(addr); } } return result; } catch (Exception e) { // Should never happen, so just wrap in a RuntimeException throw new RuntimeException(e); } } }