Hola es mi primer aporte, pero me costó mucho trabajo poder solucionar este tema, espero te sirva a ti y a las demás personas que consultan este sitio esperando encontrar la respuesta a este tema.
Primero que nada Desarrolle una función llamada "ObtieneMacCliente" el código es el siguiente:
Código:
<!---
Función:
Obtener la MAC del cliente
Valores de entrada:
argIP -> La dirección IP del equipo cliente
Valor de retorno:
La Dirección MAC
--->
<cffunction name="ObtieneMacCliente" access="public" returntype="string">
<cfexecute name = "C:\Windows\System32\nbtstat.exe"
arguments="-A #argIP#"
variable="data"
timeout="35" />
<cfif find("NetBIOS",#data#,1) gt 0 >
<cfset Mac = find("MAC",#data#,1) + 14>
<cfif Mac gt 0>
<cfset Mac = mid(#data#,Mac,17)>
</cfif>
<cfelse>
<cfset Mac = 'NO DISPONIBLE'>
</cfif>
<cfreturn Mac>
</cffunction>
Después desde cualquier página invocamos a nuestra función de la siguiente manera:
Código:
<!--- Obtiene la MAC del Cliente --->
<cfset rsObtieneMac=createobject('component','#vPath#functions/ObtieneMacyHostCliente').ObtieneMacCliente('#cgi.REMOTE_ADDR#')>
Para terminar ya le puedes dar el manejo que necesites a la Dirección Mac
Código:
<cfoutput>
#rsObtieneMac#
</cfoutput>
Espero que les sirva.