Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C语言中获取外部IP的mac地址#_C#_.net_Networking_Ip_Arp - Fatal编程技术网

C# 如何在C语言中获取外部IP的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的原理是一样的。您应该

如何在C#中获取外部IP的mac地址? 例如,我想查找“204.13.153.34”的mac地址

任何想法和代码片段都值得高度赞赏吗?
提前感谢

我认为这是不可能的,除非你在另一端写下东西,然后发送给你

编辑:

这看起来可能会有所帮助

编辑: 如果没有本地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-我同意你的意见。你一定是在我键入答案时发布的。)