4

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

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

见:参考姐妹帖

4

5 回答 5

13

任何这样的答案都是错误的。适配器的 MAC 地址只能在同一网段上使用。不在路由器的另一边。

于 2009-07-07T13:52:35.887 回答
5

如果您的远程设备启用了SNMP,您可以查询它的ARP缓存。里面会有MAC地址。有关更多信息,请参阅此常见问题解答条目

于 2009-07-07T13:59:00.417 回答
4

简单的答案:你不能。

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

于 2009-07-07T13:53:14.887 回答
1

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

于 2009-07-07T14:00:26.140 回答
0

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

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

于 2009-07-07T14:34:15.707 回答