Here you can find the source of getLocalAddresses()
private static InetAddress[] getLocalAddresses() throws SocketException
//package com.java2s; /*/*w ww . ja v a 2 s. com*/ * $Id: SubnetUtil.java 888 2013-06-14 06:21:33Z t-nakaguchi $ * * This is a program for Language Grid Core Node. This combines multiple language resources and provides composite language services. * Copyright (C) 2005-2013 NICT Language Grid Project. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 2.1 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 Lesser * General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; public class Main { private static InetAddress[] getLocalAddresses() throws SocketException { Enumeration<NetworkInterface> e = NetworkInterface .getNetworkInterfaces(); List<InetAddress> ret = new ArrayList<InetAddress>(); while (e.hasMoreElements()) { NetworkInterface i = e.nextElement(); Enumeration<InetAddress> addresses = i.getInetAddresses(); while (addresses.hasMoreElements()) { ret.add(addresses.nextElement()); } } return ret.toArray(new InetAddress[] {}); } }