是否可以在java中获取默认网关IP和MAC地址?

时间:2011-03-21 18:35:15

标签: java network-programming ip gateway

我正在尝试从网站上运行的java applet中找到访问默认网关的IP和MAC地址的方法,这可能吗?

3 个答案:

答案 0 :(得分:1)

你不能在Java中做那种事情,比如getting the SSID on a Wifi network。这种低级硬件信息无法以跨平台方式在Java中获取,Java只允许您在传输(TCP)级别(即使用套接字)中工作。

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

但是在Applet世界中,您无法调用操作系统命令工具,也无法打开文件,您所在的沙箱会阻止Applet执行一些可能会危及用户计算机的低级别任务。

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

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

答案 1 :(得分:1)

您可以使用课程getHardwareAddresshttp://download.oracle.com/javase/6/docs/api/java/net/NetworkInterface.html#getHardwareAddress())中的java.net.NetworkInterface方法获取Java界面的Mac地址。我不确定这是否适用于Applet,我自己从未测试过该方法,但如果有的话,那就是这个方法。

答案 2 :(得分:0)

IP地址?肯定的。只需将applet连接回您的服务器即可。 applet可以打开与托管它的服务器的http连接。

MAC和默认GW是您可以通过外部程序获得的系统特定的东西,但我不是100%确定applet沙箱中支持这些(实际上,它们可能不受支持)。