我正在尝试为正在在线构建的 C# winform 应用程序构建一些复杂的东西,并试图在这里和那里收集一些信息。我在网上看到有可能获得计算机上的 mac 地址使用 System.Net.NetworkInformation 或 System.Management.ManagementClass 的网络(由于某些原因我无法引用)。我的担忧在哪里
- 我的在线 Web 服务器能否知道与其相连的客户端计算机的 MAC 地址?
- 如果问题 1 为真,我猜它会使用 IP(如果我错了请纠正我)如果客户端的机器位于代理服务器后面或使用多个 Web 代理怎么办?
- 如果问题 1 和 2 是肯定的如何从网络服务器做到这一点。
请您参考如下方法:
不,没有简单的方法可以做到这一点。
MAC 地址只能在同一个子网上解析 - 假设这不是一个相当小的 Intranet 应用程序,您将不会与您的客户端位于同一个子网上。
理论上,使用远程 WMI 查询客户端是可行的 - 但防火墙和权限问题并非微不足道。同样,除非您可以控制所有客户 - 否则您不太可能在这里取得成功。
您唯一可以做的就是一个可下载的应用程序——可能是 Flash、Silverlight 或 ActiveX——为您询问本地机器。不过,我不确定该信息是否会被浏览器沙盒化。
我的猜测是有一种更简单的方法来完成您想要做的事情 - 但您需要提供更多详细信息,说明为什么您需要 MAC 地址。
