【发布时间】:2010-07-15 09:17:17
【问题描述】:
如何在 C# 中获取外部 IP 的 MAC 地址? 例如我想找到“204.13.153.34”的mac地址?
任何想法和代码 sn-p 都受到高度赞赏? 提前致谢
【问题讨论】:
标签: c# .net networking ip arp
如何在 C# 中获取外部 IP 的 MAC 地址? 例如我想找到“204.13.153.34”的mac地址?
任何想法和代码 sn-p 都受到高度赞赏? 提前致谢
【问题讨论】:
标签: c# .net networking ip arp
您应该阅读地址解析协议。
您无法确定不同网段中机器的 MAC 地址。使用 ARP,如果机器恰好在同一网段中,您可以找出给定 IP 地址的 MAC 地址。这就是IP堆栈正在做的事情。它通过 ARP 向负责处理 IP 地址数据包的“网络”询问 IP 地址,因为以太网卡只知道 MAC 地址。
【讨论】:
除非你在另一端写一些东西发送给你,否则我认为这是不可能的?
编辑:
这看起来可以帮助Retrieve MAC Address
编辑: 如果没有本地 LAN 访问权限,您将无法获取用户的外部 MAC 地址...除非:您可以访问良好的 ARP 表,并且仅当客户端直接连接到 php 服务器时(如果有路由器/网关NAT 流量,返回的 MAC 地址将是网关的 MAC 地址) - Source
它谈论的是 php,但 C# 的主体将是相同的
【讨论】:
像@EricSchaefer answare 一样,您无法从不同的网段获取 MAC 地址。但如果它有相同的网段,我已经在another questions回答了
【讨论】:
arp 命令是 TCP/IP 的一部分(它代表地址解析协议),但它仅适用于 LAN。
我不认为你可以通过互联网做你想做的事。因为您将获得第一个节点的 MAC。
【讨论】: