从IPv4中的(非本地)IP地址获取MAC地址的最简单方法

有一个简单的方法来获得一个机器的MAC地址连接到我的应用程序通过TCP / IPV4套接字?

或者更一般地说:如果我有IP地址,在IPv4中获取相应MAC地址的最佳方法是什么?

保留这些信息是ARP表的工作。 最好的办法就是把它从那里读出来。

您可以考虑阅读查询ARP缓存以获取MAC ID的答案。 提问者使用Java,但否则它是你的相同的问题。

MAC地址仅用于下一跳。 这基本上意味着客户端的原始MAC地址在第一跳之后将不可见。 从一般意义上说,如果你不在客户端的同一个物理段上,你就没有办法获取一个IP并获得MAC(反之亦然)。

如果没有其他网络上的东西(或者客户端本身),你不能。

MAC地址用于网络OSI模型的第二层,即数据链路层。 MAC是特定于以太网的。 当你到达互联网时,使用IP地址。 不是所有连接到互联网的东西都在较低层使用以太网。

除了IP之外,还有其他的协议可以使用。

基本上,你的电脑只知道它的物理网段是什么。 如果不得不去其他地方,它只知道到达那里的网关的MAC。