2012-01-06 10 views
9

sto cercando di ottenere l'indirizzo MAC dal computer del cliente che sfogliare il mio sito web, ho usato questo:come ottenere l'indirizzo MAC del client che navigare sito 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"]); 
     } 
    } 
} 

Ma non è riconosciuto Management Namespace, quindi cosa dovrei fare?

+3

sono effettivamente aspettando il * indirizzo * MAC del client per essere disponibile attraverso il provider WMI del server * *? –

risposta

14

sfortunatamente non è possibile ottenere in modo affidabile l'indirizzo mac del computer client a causa di firewall, proxy e indirizzi generici ISP forniti. Tuttavia, è possibile effettuare una pugnalata ad ottenere l'indirizzo IP utilizzando:

var remoteIpAddress = Request.UserHostAddress; 

Tuttavia, questo può o non può in realtà rappresentano la macchina client ed è più probabile che il gateway ISP o qualche altro indirizzo IP. Si tratta di un problema ben noto e che persino Google ha trovato difficile craccare usando javascript clientide (l'idea è che si ottiene l'indirizzo ip locale attuale tramite una libreria js e lo si passa alla funzione server).

[modifica] - potrebbe essere la pena dare un'occhiata a quanto segue per ispirazione/conferma del problema:

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

+4

non è possibile ottenere l'indirizzo mac del client perché è sul livello fisico ethernet, quindi se non c'è un collegamento fisico diretto tra il tuo sito web e il client ... non è dovuto al firewall –

+0

remi-point reso migliore allora avevo. evviva –

+0

possibile ottenere il MAC di iis dove è ospitato il sito web? – SAR

1

Di solito non è possibile per una persona per ottenere l'indirizzo MAC un computer solo dal suo indirizzo IP. Questi due indirizzi provengono da diverse fonti. Semplicemente affermato, la configurazione hardware del proprio computer determina il suo indirizzo MAC mentre la configurazione della rete a cui è connesso determina il suo indirizzo IP. Tuttavia, i computer connessi alla stessa rete locale TCP/IP possono determinare gli indirizzi MAC reciproci. La tecnologia chiamata ARP - Address Resolution Protocol incluso con TCP/IP lo rende possibile. Usando ARP, ogni computer mantiene un elenco di indirizzi IP e MAC per ogni dispositivo con cui ha recentemente comunicato.

Src

Problemi correlati