获取远程主机的MAC地址

我刚才看到了寻找远程主机MAC地址的请求。 答案是MAC地址始终作为TCP / IP协议的一部分发送。

我如何从ASP.NET C#应用程序中检索此信息?

见: 参考姊妹post

任何这样的答案都是假的。 适配器的MAC地址仅在同一网段上可用。 不在路由器的另一端。

如果您的远程设备启用了SNMP ,则可以查询其ARP缓存。 那将有MAC地址。 有关详细信息,请参阅此FAQ条目 。

简单回答:你做不到。

复杂的答案:你可以,但你需要读取“arp -a”命令的输出。 这可能会变得困难,具体取决于您当前通过NIC(无线或有线)连接的数量。

我能想到从网络本身获取此信息的唯一方法取决于使用SNMP或RMON与网络管理软件连接。 目前,我在客户端上使用Java Applet(请参阅我对其他问题的回答 ),但它有一些限制。 我希望与我们的网络工程师见面,看看是否有办法通过询问网络交换机获得相同的服务器信息。 如果存在这样的解决方案,它可能特定于您运行的任何网络管理软件。

您可以将其构建到应用程序本身,并让应用程序在其可能已发送的任何消息中发送mac地址。 除此之外,约翰钉了它。

编辑:哦,如果这是一个“网络应用程序”,“客户端应用程序”是一个浏览器,是的,没有去。