如何在C#中获取外部IP的mac地址

时间:2010-07-15 09:17:18

标签: c#

如何在C#中获取外部IP的mac地址? E.g我想找到“204.13.153.34”的mac地址?

任何想法和代码段都受到高度赞赏? 在此先感谢

4 个答案:

答案 0 :(得分:3)

您应该阅读有关地址解析协议的内容。

您无法确定其他网段中计算机的MAC地址。使用ARP,如果机器恰好位于同一网段,您可以计算出给定IP地址的MAC地址。这就是IP堆栈正在做什么。它通过ARP询问“网络”是否有责任处理IP地址的数据包,因为以太网卡只知道MAC地址。

答案 1 :(得分:1)

除非你在另一端发一些东西发给你,否则我认为这是不可能的?

修改

这似乎可以帮助Retrieve MAC Address

修改: 如果用户没有本地局域网访问权限,就无法获得用户的外部MAC地址...除非你有权访问一个好的ARP表,并且只有当客户端直接连接到php服务器时(如果有路由器/网关那么NAT流量,返回的MAC地址将是网关的地址) - Source

它谈论的是php,但C#

的主体是相同的

答案 2 :(得分:0)

arp 命令是TCP / IP的一部分(它代表地址解析协议),但它只能在LAN上运行。

我认为你不能通过互联网做你想做的事。因为你将获得第一个节点的MAC。

答案 3 :(得分:0)

就像@EricSchaefer一样,您无法从不同的网段获取MAC地址。但是,如果它具有相同的网段,我已经在another questions