В Linux InetAddress.getLocalHost() будет искать имя хоста и затем вернуть первый IP-адрес, присвоенный этому имени хоста DNS. Если у вас есть это имя хоста в файле/etc/hosts, он получит первый IP-адрес в этом файле для этого имени хоста.
Если вы обратите внимание, этот метод возвращает только один адрес InetAddress.
Если вы не назначили имя хоста, скорее всего это будет localhost.localdomain. Вы можете установить имя хоста с командной строки:
hostname [name]
или установив его в файле/и т.д./sysconfig/сети
Если вы хотите, чтобы получить все IP-адреса, включая IPv6, присвоенные имя хоста вы можете Применение:
InetAddress.getAllByName(InetAddress.getLocalHost().getHostName());
Если вы хотите получить весь IP-адрес, включая IPv6, назначенный сетевые интерфейсы хоста-, вы должны использовать класс NetworkInterface.
Здесь я приклеивая некоторый пример кода:
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.net.SocketException;
import java.net.NetworkInterface;
import java.util.*;
public class Test
{
public static void main(String[] args)
{
try
{
System.out.println("getLocalHost: " + InetAddress.getLocalHost().toString());
System.out.println("All addresses for local host:");
InetAddress[] addr = InetAddress.getAllByName(InetAddress.getLocalHost().getHostName());
for(InetAddress a : addr)
{
System.out.println(a.toString());
}
}
catch(UnknownHostException _e)
{
_e.printStackTrace();
}
try
{
Enumeration nicEnum = NetworkInterface.getNetworkInterfaces();
while(nicEnum.hasMoreElements())
{
NetworkInterface ni=(NetworkInterface) nicEnum.nextElement();
System.out.println("Name: " + ni.getDisplayName());
System.out.println("Name: " + ni.getName());
Enumeration addrEnum = ni.getInetAddresses();
while(addrEnum.hasMoreElements())
{
InetAddress ia= (InetAddress) addrEnum.nextElement();
System.out.println(ia.getHostAddress());
}
}
}
catch(SocketException _e)
{
_e.printStackTrace();
}
}
}
Для этого примера, я получил код одного из ответов на InetAddress.getLocalHost().getHostAddress() is returning 127.0.1.1