在Java中更改本地机器IP

在Java中更改本地机器IP,java,linux,network-programming,ip,Java,Linux,Network Programming,Ip,是否可以使用Java更改为机器的IP地址 与此linux命令等效的内容: ifconfig eth0 [new-ip-address] 当然java.net.NetworkInterface提供了有关网络接口的信息。但是,您机器的IP地址是高度特定于操作系统的。不过,我不认为有一个简单的方法可以改变它 此外,IP地址由DHCP自动分配。(正如Thilo所指出的,您使用DHCP) 然而,我已经成功地实现了一个代码,它可以使用java.lang.Runtime类运行一些DOS命令 因此,您可以尝试

是否可以使用Java更改为机器的IP地址

与此linux命令等效的内容:

ifconfig eth0 [new-ip-address]

当然
java.net.NetworkInterface
提供了有关网络接口的信息。但是,您机器的IP地址是高度特定于操作系统的。不过,我不认为有一个简单的方法可以改变它


此外,IP地址由DHCP自动分配。(正如Thilo所指出的,您使用DHCP)

然而,我已经成功地实现了一个代码,它可以使用
java.lang.Runtime
类运行一些DOS命令

因此,您可以尝试使用java中DOS命令类型的
netsh int IP set address“local area connection”static 192.168.0.101 255.255.255.0 192.168.0.254 1来分配静态IP地址

我不认为有一种平台无关的方式,但您可以使用这些链接找到操作系统信息

一,

二,

三,


您可以根据系统信息使用一些if-else语句,然后调用相应的命令

“IP地址由DHCP自动分配”。不一定。我指的是静态IP地址。我也可以在linux上做同样的事情,我只是想知道是否有一种平台无关的方式?@Thilo:Ye当然没有必要。如果你使用DHCP,它是被分配的automatically@ehsun7b我不认为有一种平台无关的方式,但我会编辑这篇文章,给你更多的信息。你可能需要java程序以root用户身份运行。然后您可以运行上面的命令,或者执行特定于操作系统的技巧(例如编写JNI并执行适当的系统调用)