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

时间:2011-03-14 19:49:17

标签: c# windows networking ip-address mac-address

有没有一种简单的方法可以通过tcp / ipv4套接字获取连接到我的应用程序的计算机的MAC地址?

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

3 个答案:

答案 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,但除此之外是你的相同问题。