简体   繁体   中英

how to get mac address of client that browse web site by asp.net mvc c#

I'm trying to get mac address from the client's machine that browse my web site, I've been used this:

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"]);
        }
    }
 }

But it is not recognized Management Namespace, so what should I do?

it's unfortunately not possible to reliably get the mac address of the client machine due to firewalls, proxies and ISP generic addresses being given. However, you can make a stab at getting the ip address by using:

var remoteIpAddress = Request.UserHostAddress;

However, this may or may not actually represent the client machine and is more likely the ISP gateway or some other ip address. It's a well known problem and one that even google have found hard to crack using clientside javascript (the idea here being that you get the actual local ip address via a js library and pass that over to your server function).

[edit] - might be worth taking a look at the following for inspiration/confirmation of the issue:

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

It is usually not possible for a person to get the MAC address of a computer from its IP address alone. These two addresses originate from different sources. Simply stated, a computer's own hardware configuration determines its MAC address while the configuration of the network it is connected to determines its IP address. However, computers connected to the same TCP/IP local network can determine each other's MAC addresses. The technology called ARP - Address Resolution Protocol included with TCP/IP makes it possible. Using ARP, each computer maintains a list of both IP and MAC addresses for each device it has recently communicated with.

Src

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM