我想使用 java 获取本地机器的默认网关。我知道如何通过执行dos或shell命令来获取它,但是还有其他方法可以获取吗? 还需要获取主次dns ip。
最佳答案
My way是:
try(DatagramSocket s=new DatagramSocket())
{
s.connect(InetAddress.getByAddress(new byte[]{1,1,1,1}), 0);
return NetworkInterface.getByInetAddress(s.getLocalAddress()).getHardwareAddress();
}
由于使用数据报 (UDP),它不连接任何地方,因此端口号可能没有意义,远程地址 (1.1.1.1) 不需要可达,只需可路由即可。
关于java - 在java中获取默认网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5945288/