在Java中是否有可能获取默认网关的IP和MAC地址?

3

我正在尝试寻找一种方式,在Java小程序中访问默认网关的IP和MAC地址,以在网站上运行,这可能吗?


2
一个更好的问题可能是:“你认为通过了解它们,你能实现什么?”达到任何(未明确说明的)目标可能有更好的策略。 - Andrew Thompson
也许这会对你有所帮助 https://dev59.com/33VD5IYBdhLWcg3wWKHc - RoflcoptrException
3个回答

1

在Java中,你无法做到像获取Wifi网络上的SSID这样的事情。这种低级硬件信息不能以跨平台的方式在Java中获得,Java只允许你在传输(TCP)层工作,也就是使用sockets。

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

但在Applet世界中,您无法调用操作系统命令工具,也无法打开文件,因为您处于一个沙盒中,防止Applets执行某些低级任务,可能会危及用户计算机。

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

尝试将问题聚焦在另一个方向上。


1

0
IP地址?没问题。只需要让小程序连接回您的服务器即可。小程序可以打开与托管它的服务器的http连接。

MAC地址和默认网关是系统特定的信息,您可以通过外部程序获取,但我不确定在小程序沙箱中是否支持这些操作(事实上,它们可能不被支持)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接