我正在编写一个必须能够打开的Java应用程序(WOL工作正常)并关闭本地网络上的pc。问题是我希望它能够同时提供MAC地址。我需要的是通过仅提供其MAC地址来获取PC的ip地址(如果通电)的方法。我看到很多关于做相反的事情,但这似乎是一个死胡同。
提前致谢 Krolden
答案 0 :(得分:2)
在一般情况下,这是不可能的; IP地址和MAC地址具有多对多关系(大多数接口具有多个IP地址,并且单个IP地址可以绑定到多个MAC,但后者通常处于负载平衡方案中)。
InARP协议在帧中继上可用,但不适用于以太网。
您可以获得的最接近的 - 由于多种原因这是不可靠的 - 是在给予时间唤醒后广播ping目标计算机所在的子网。然后,您可以检查本地计算机上的ARP缓存以查找匹配的条目。