我需要获取网络中主机的MAC ID。为此,如果我ping通该IP并查询ARP缓存arp -a,则可以获取MAC ID。我只是想知道是否可以获取任何API来查询ARP并获取MAC ID。
arp -a
另外,如果有更好的方法可以从IP地址获取MAC ID,请提出建议。
PS:我在JAVA工作。
谢谢。
Java没有提供直接的方法来查询网络中主机的MAC地址,因为Java的套接字库已将其抽象出来。
从某种意义上说,这很有意义,因为主机的MAC地址实际上很少说。没有诸如主机的“ the” MAC地址之类的东西。
将这两个问题放在一起,这意味着一台主机可能具有许多不同的MAC地址(如果它具有多个NIC),而一台MAC地址可能代表了许多不同的主机(如果流量通过路由器)。
假设您了解所有这些信息,并且仍然需要获取主机的MAC地址,那么在Java中做到这一点的唯一方法是“本地化”:
system_profile