我正在尝试找到一种方法来从要在网站上运行的 java 小程序访问默认网关的 IP 和 MAC 地址,这可能吗?
3 回答
getHardwareAddress
您可以使用类中的方法java.net.NetworkInterface
( http://download.oracle.com/javase/6/docs/api/java/net/NetworkInterface.html#getHardwareAddress() ) 获取Java 接口的 Mac 地址。我不确定这是否可以在 Applet 中工作,而且我自己也从未测试过该方法,但如果有什么办法,那么这个方法就是那个东西。
你不能在 Java 中做那种事情,比如在 Wifi 网络上获取 SSID。这种低级硬件信息无法在 Java 中以跨平台方式获得,Java 仅允许您在传输 (TCP) 级别工作,也就是使用套接字。
如果您需要此类信息,请尝试使用Runtime.getRuntime().exec(...)
并解析输出调用操作系统命令工具。但是您必须处理不同的操作系统,这意味着不同的命令工具和输出。
但是在 Applet 世界中,您不能调用操作系统命令工具,也不能打开文件,您处于一个沙箱中,它阻止 Applet 执行一些可能会给用户计算机带来风险的低级任务。
如果您签署您的小程序,则您有权执行与常规桌面应用程序相同的操作,但这超出了范围。
试着把你的问题集中在另一个方向。
IP地址?确定的事情。只需让小程序连接回您的服务器。小程序可以打开到托管它的服务器的 http 连接。
MAC 和 Default GW 是系统特定的东西,您可以通过外部程序获得,但我不能 100% 确定这些在 applet 沙箱中受支持(事实上,它们可能不受支持)。