有没有一种简单的方法可以通过tcp / ipv4套接字获取连接到我的应用程序的计算机的MAC地址?
或者更笼统地说:如果我有IP地址,在IPv4中获取相应MAC地址的最佳方法是什么?
答案 0 :(得分:5)
MAC地址仅用于下一跳。这基本上意味着客户端的第一次跳转后将无法看到客户端的原始MAC地址。在一般意义上,如果您与客户端不在同一物理段上,则无法获取IP并获取MAC(反之亦然)。
答案 1 :(得分:3)
如果没有在其他网络上拥有某些东西(或客户端本身),你就不能。
MAC地址用于OSI model for networking的第二层(数据链路层)。 MAC特定于以太网。当您上网时,使用IP地址。并非所有连接到Internet的设备都使用较低层的以太网。
还可以使用除IP之外的其他协议。
基本上,您的计算机只知道其物理网段上的内容。如果它必须外出其他任何东西,它只知道到达那里的网关的MAC。
答案 2 :(得分:2)
保存该信息是ARP表的工作。最好的办法就是把它从那里读出来。
您可以考虑阅读Query ARP cache to get MAC ID的答案。提问者使用的是Java,但除此之外是你的相同问题。