可以用java获取默认网关IP和MAC地址吗?

可以用java获取默认网关IP和MAC地址吗?,java,network-programming,ip,gateway,Java,Network Programming,Ip,Gateway,我正在试图找到一种方法,从要在网站上运行的java小程序访问默认网关的IP和MAC地址,这可能吗 IP地址?当然可以只需将小程序连接回服务器即可。小程序可以打开到托管它的服务器的http连接 MAC和DefaultGW是通过外部程序可以获得的特定于系统的东西,但我不能100%确定applet沙箱支持它们(事实上,它们可能不受支持) 在Java中不能做这种事情,比如。这种低级硬件信息不能通过跨平台的方式在Java中获得,Java只允许您在传输(TCP)级别工作,也就是使用套接字 如果需要此类信息,

我正在试图找到一种方法,从要在网站上运行的java小程序访问默认网关的IP和MAC地址,这可能吗

IP地址?当然可以只需将小程序连接回服务器即可。小程序可以打开到托管它的服务器的http连接


MAC和DefaultGW是通过外部程序可以获得的特定于系统的东西,但我不能100%确定applet沙箱支持它们(事实上,它们可能不受支持)

在Java中不能做这种事情,比如。这种低级硬件信息不能通过跨平台的方式在Java中获得,Java只允许您在传输(TCP)级别工作,也就是使用套接字

如果需要此类信息,请尝试使用
Runtime.getRuntime().exec(…)
调用OS命令工具并解析输出。但您必须处理不同的操作系统,这意味着不同的命令、工具和输出

但是在Applet世界中,你不能调用操作系统命令工具,也不能打开文件,你处于一个沙箱中,阻止Applet执行一些可能给用户计算机带来风险的低级任务

如果您对小程序进行签名,则您有权执行与常规桌面应用程序相同的操作,但这超出了范围


尝试将问题集中到另一个方向。

您可以使用类
Java.net.NetworkInterface
()中的方法
getHardwareAddress
获取Java接口的Mac地址。我不确定这是否能在小程序中工作,我自己也从未测试过这种方法,但如果有什么东西能做到这一点,这种方法就是它。

更好的问题是“你认为知道其中一种方法可以实现什么?”。可能有更好的策略来实现(未说明的)目标。也许这会对你有所帮助