Java程序和ipconfig显示不同的IP地址

时间:2016-08-24 07:25:26

标签: java ip ipconfig

最近 ipconfig 显示的系统IP地址已从10.2.200.76更改为10.2.200.75 但是以下java代码返回的IP地址

InetAddress.getLocalHost().getHostAddress()

仍为10.2.200.76。 我的问题是,“这怎么可能?”我猜测DHCP或Java出了问题。

系统详细信息 - 操作系统:Windows 7, Java:Oracle JDK 7, 以太网卡:英特尔(R)82579LM千兆

更新1: Java代码

public static void main(String[] args) {
    try {
        System.out.println("IP Address : " + InetAddress.getLocalHost().getHostAddress());
    } catch (Exception e) {
        e.printStackTrace();
    }
}

java代码的输出> IP地址:10.2.200.76

Ipconfig输出: Output of ipconfig

2 个答案:

答案 0 :(得分:0)

您能否枚举所有IP地址,并看到您的旧IP仍然存在。也尝试重新启动机器并再次检查。请参阅下面的内容。

InetAddress.getLocalHost().getHostAddress() is returning 127.0.1.1

http://docs.oracle.com/javase/6/docs/api/java/net/NetworkInterface.html#getInetAddresses()

答案 1 :(得分:0)

位于%SystemRoot%\ System32 \ drivers \ etc 主机文件有一个条目如下

localhost 10.2.200.76

我认为当我使用

时,java正在选择这个
InetAddress.getLocalHost().getHostAddress()

所以,我将localhost条目更改为

localhost 127.0.0.1

现在ipconfig和上面的java api都返回相同的IP地址10.2.200.75。