如何用asp.net mvc c获取浏览网站的客户端mac地址

本文关键字:网站 客户端 mac 地址 浏览 获取 asp 何用 net mvc | 更新日期: 2023-09-27 18:19:32

我正试图从浏览我网站的客户端机器上获取mac地址,我一直在使用这个:

using System.Management;
class Sample_ManagementClass
{
    public static int Main(string[] args)
    {
        ManagementClass objMC = new
        ManagementClass("Win32_NetworkAdapterConfiguration");
        ManagementObjectCollection objMOC = objMC.GetInstances();
        foreach (ManagementObject objMO in objMOC)
        {
            if (!(bool)objMO["ipEnabled"])
                continue;
            Console.WriteLine((string)objMO["MACAddress"]);
        }
    }
 }

但它不是可识别的管理命名空间,所以我该怎么办?

如何用asp.net mvc c获取浏览网站的客户端mac地址

不幸的是,由于给定了防火墙、代理和ISP通用地址,无法可靠地获取客户端机器的mac地址。然而,您可以尝试通过以下方式获取ip地址:

var remoteIpAddress = Request.UserHostAddress;

然而,这可能代表也可能不代表客户端机器,更可能是ISP网关或某个其他ip地址。这是一个众所周知的问题,甚至谷歌也发现使用客户端javascript很难解决这个问题(这里的想法是通过js库获得实际的本地ip地址,并将其传递给服务器函数)。

[edit]-可能值得一看以下内容以获得灵感/确认问题:

http://www.dotnetfunda.com/forums/thread2088-how-to-get-mac-address-of-client-machine.aspx

一个人通常不可能仅从计算机的IP地址中获得计算机的MAC地址。这两个地址来源不同。简单地说,计算机自己的硬件配置决定了它的MAC地址,而它所连接的网络的配置决定了其IP地址。然而,连接到同一TCP/IP本地网络的计算机可以确定彼此的MAC地址。TCP/IP中包含的ARP地址解析协议使它成为可能。使用ARP,每台计算机都为最近通信的每台设备维护一个IP和MAC地址列表。

Src