我正在尝试寻找一种方式,在Java小程序中访问默认网关的IP和MAC地址,以在网站上运行,这可能吗?
我正在尝试寻找一种方式,在Java小程序中访问默认网关的IP和MAC地址,以在网站上运行,这可能吗?
在Java中,你无法做到像获取Wifi网络上的SSID这样的事情。这种低级硬件信息不能以跨平台的方式在Java中获得,Java只允许你在传输(TCP)层工作,也就是使用sockets。
如果您需要这种信息,请尝试使用Runtime.getRuntime().exec(...)
调用操作系统命令工具并解析输出。但是您必须处理不同的操作系统,这意味着不同的命令工具和输出。
但在Applet世界中,您无法调用操作系统命令工具,也无法打开文件,因为您处于一个沙盒中,防止Applets执行某些低级任务,可能会危及用户计算机。
如果您对applet进行签名,您就有权限执行与常规桌面应用程序相同的操作,但这超出了范围。
尝试将问题聚焦在另一个方向上。
java.net.NetworkInterface
中的方法getHardwareAddress
(http://download.oracle.com/javase/6/docs/api/java/net/NetworkInterface.html#getHardwareAddress())获取接口的Mac地址。我不确定它是否适用于Applet,并且我从未测试过该方法,但如果有什么东西可以做到这一点,那就是这个方法。MAC地址和默认网关是系统特定的信息,您可以通过外部程序获取,但我不确定在小程序沙箱中是否支持这些操作(事实上,它们可能不被支持)。