Java 通过mac地址获取ip地址

Java 通过mac地址获取ip地址,java,ip-address,mac-address,Java,Ip Address,Mac Address,我正在编写一个java应用程序,它必须能够打开(WOL工作正常)并关闭本地网络上的pc。问题是,我希望它能够做到这两个,同时只提供MAC地址。我需要的是一种只提供pc的MAC地址的方法来获取pc的ip地址(如果开机)。我看到很多关于做相反的事情的线索,但这似乎是一条死胡同 提前谢谢 克罗登这在一般情况下是不可能的;IP地址和MAC地址具有多对多关系(大多数接口具有多个IP地址,单个IP地址可以绑定到多个MAC,尽管后者通常处于负载平衡场景中) 该协议在帧中继上可用,但不适用于以太网 你能得到的最

我正在编写一个java应用程序,它必须能够打开(WOL工作正常)并关闭本地网络上的pc。问题是,我希望它能够做到这两个,同时只提供MAC地址。我需要的是一种只提供pc的MAC地址的方法来获取pc的ip地址(如果开机)。我看到很多关于做相反的事情的线索,但这似乎是一条死胡同

提前谢谢
克罗登

这在一般情况下是不可能的;IP地址和MAC地址具有多对多关系(大多数接口具有多个IP地址,单个IP地址可以绑定到多个MAC,尽管后者通常处于负载平衡场景中)

该协议在帧中继上可用,但不适用于以太网


你能得到的最接近的方法——由于许多原因,这是不可靠的——是在给目标计算机时间唤醒后广播ping目标计算机所在的子网。然后,您可以检查本地计算机上的ARP缓存以找到匹配的条目。

我不知道您是否可以从纯Java执行反向ARP。也许你可以使用,但我从未尝试过。+1,我要补充的是,使用MAC地址作为计算机标识符本身充满了问题。它可以在NIC更改时更改,也可以由用户更改。@但是,当涉及WOL时,EJP不可避免。