C# 如何在C语言中获取外部IP的mac地址#
如何在C#中获取外部IP的mac地址? 例如,我想查找“204.13.153.34”的mac地址 任何想法和代码片段都值得高度赞赏吗?C# 如何在C语言中获取外部IP的mac地址#,c#,.net,networking,ip,arp,C#,.net,Networking,Ip,Arp,如何在C#中获取外部IP的mac地址? 例如,我想查找“204.13.153.34”的mac地址 任何想法和代码片段都值得高度赞赏吗? 提前感谢我认为这是不可能的,除非你在另一端写下东西,然后发送给你 编辑: 这看起来可能会有所帮助 编辑: 如果没有本地LAN访问权限,您无法获取用户的外部MAC地址。。。除非:您可以访问良好的ARP表,并且仅当客户端直接连接到php服务器时(如果存在NAT流量的路由器/网关,则返回的MAC地址将是网关的MAC地址)- 它讲的是php,但C的原理是一样的。您应该
提前感谢我认为这是不可能的,除非你在另一端写下东西,然后发送给你 编辑: 这看起来可能会有所帮助 编辑: 如果没有本地LAN访问权限,您无法获取用户的外部MAC地址。。。除非:您可以访问良好的ARP表,并且仅当客户端直接连接到php服务器时(如果存在NAT流量的路由器/网关,则返回的MAC地址将是网关的MAC地址)-
它讲的是php,但C的原理是一样的。您应该阅读地址解析协议
无法确定不同网段中机器的MAC地址。使用ARP,如果机器恰好位于同一段中,您可以计算出给定IP地址的MAC地址。这就是IP堆栈所做的。它通过ARP询问“网络”谁负责为IP地址传递数据包,因为以太网卡只知道MAC地址。有ARP命令,它是TCP/IP的一部分(代表地址解析协议),但它只在LAN上工作
我不认为你可以在互联网上随心所欲。因为您只需要获取第一个节点的MAC。就像@EricSchaefer answare一样,您无法从不同的网段获取MAC地址。但是,如果它有相同的网段,我已经在answare上安装了我尝试了从iphlpapi.dll发送ARP,但也不起作用:(+1-我同意你的意见。你一定是在我键入答案时发布的。)