2012-01-06 29 views
9

Estoy tratando de obtener la dirección MAC de la máquina del cliente que buscar mi sitio web, he estado acostumbrado esto:cómo obtener la dirección MAC del cliente que navega por el sitio web asp.net mvc C#

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

Pero no se reconoce el espacio de nombres de administración, entonces, ¿qué debo hacer?

+3

¿En realidad esperando la dirección de * * MAC del cliente para estar disponibles a través del proveedor WMI del servidor * *? –

Respuesta

14

Desafortunadamente no es posible obtener de manera confiable la dirección MAC de la máquina cliente debido a firewalls, proxies y direcciones genéricas de ISP. Sin embargo, se puede hacer una puñalada en obtener la dirección IP mediante el uso de:

var remoteIpAddress = Request.UserHostAddress; 

Sin embargo, esto puede o no representar realmente la máquina cliente y es más probable que la puerta de entrada ISP o alguna otra dirección IP. Es un problema bien conocido y que incluso Google ha encontrado difícil de descifrar utilizando javascript cliente (la idea aquí es que obtienes la dirección IP local real a través de una biblioteca js y la pasas a tu función de servidor).

[editar] - podría valer la pena echar un vistazo a la siguiente inspiración/confirmación de la cuestión:

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

+4

no es posible obtener la dirección MAC del cliente porque está en la capa física de ethernet, por lo que si no hay un enlace físico directo entre su sitio web y el cliente ... no se debe al cortafuegos –

+0

tuve. vivas –

+0

posible para obtener el MAC de iis donde se aloja el sitio web? – SAR

1

Por lo general, no es posible que una persona para obtener la dirección MAC una computadora desde su dirección IP sola. Estas dos direcciones provienen de diferentes fuentes. En pocas palabras, la configuración de hardware de una computadora determina su dirección MAC mientras que la configuración de la red a la que está conectada determina su dirección IP. Sin embargo, las computadoras conectadas a la misma red local TCP/IP pueden determinar las direcciones MAC de los demás. La tecnología llamada ARP - Protocolo de resolución de direcciones incluido con TCP/IP lo hace posible. Usando ARP, cada computadora mantiene una lista de direcciones IP y MAC para cada dispositivo con el que se ha comunicado recientemente.

Src

Cuestiones relacionadas