Obtener la MAC del pc cuando pincha un link

Tengo una db donde se van insertando las ip´s de los equipos que clican un link, como son empresas las que acceden a dicho link, se suele repetir a menudo la misma ip (IP publica) ya que no me hace diferencia de los equipos de una misma empresa. Yo quisiera poder distinguirlos de alguna forma, no necesariamente por una ip. La mejor solución seria poder sacar la MAC-Address de los equipos que visitan el link.
Hay alguna Function que me haga esto?

2 respuestas

Respuesta
1
Hay una manera de obtener la MAC, solo que no es posible obtener de clientes que estén más allá de tu red o dominio.. así que no creo que sea de gran ayuda..
De cuakquier manera te la pongo en la parte de abajo..
Te comento que para eso que necesitas tal vez te sirva una combinación de IP y HostName.. (Remote_host y Remote_Adrr) del servervariables...
De inicio cuando lo pongas el remote_host te devolverá la Ip, pero se puede hacer una configuración adicional para lograr que te de el host name.. solo que es un tanto costosa en rendimiento
Te pongo el link donde explica perfecto como hacer esa configuración con sus pros y contras
http://support.microsoft.com/kb/q245574/
Y acá te agrego como obtener la macAddres que como veras solo se puede ejecutar a nivel lan
<%@ LANGUAGE="VBSCRIPT"%>
<%
strIP = Request.ServerVariables("REMOTE_ADDR")
strMac = GetMACAddress(strIP)
strHost = Request.ServerVariables("REMOTE_HOST")
Function GetMACAddress(strIP)
Set net = Server.CreateObject("wscript.network")
Set sh = Server.CreateObject("wscript.shell")
sh.run "%comspec% /c nbtstat -A " & strIP & " > c:\" & strIP & ".txt",0,true
Set sh = nothing
Set fso = createobject("scripting.filesystemobject")
Set ts = fso.opentextfile("c:\" & strIP & ".txt")
macaddress = null
Do While Not ts.AtEndOfStream
data = ucase(trim(ts.readline))
If instr(data,"MAC ADDRESS") Then
macaddress = trim(split(data,"=")(1))
Exit Do
End If
loop
ts.close
Set ts = nothing
'fso.deletefile "c:\" & strIP & ".txt"
Set fso = nothing
GetMACAddress = macaddress
End Function
%>
<HTML>
<HEAD>
<TITLE> MAC MAN</TITLE>
</HEAD>
<BODY>
<%Response.Write("IP is : " & strIP & "<BR>" & vbcrlf)%>
<%Response.Write("MAC is : " & strMac & vbcrlf)%>
</BODY>
</HTML>
Respuesta
1
No conozco ningún método que obtenga la MAC desde asp, seguramente si accedes a un componente de visual basic, este a través de una api que se instale como un ocx en el cliente te pueda dar ese valor, pero esto es complicado y no tienes necesidad, ya que a través de cookies puedes identificar un equipo único que se conecte a tu aplicación guardando una variable con un dato para ese equipo, busca información sobre esto en microsoft.
Por favor, finaliza tu pregunta, gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas