Foros del Web » Programando para Internet » PHP »

como capturar el mac address del cliente con PHP

Estas en el tema de como capturar el mac address del cliente con PHP en el foro de PHP en Foros del Web. Estoy desarrollando una intranet, y por cuestion de seguridad me interesa capturar el mac addres de la maquina cliente con PHP. Alguien podria ayudarme con ...
  #1 (permalink)  
Antiguo 27/10/2003, 12:32
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 15 años, 6 meses
Puntos: 0
como capturar el mac address del cliente con PHP

Estoy desarrollando una intranet, y por cuestion de seguridad me interesa capturar el mac addres de la maquina cliente con PHP. Alguien podria ayudarme con este lio.

Gracias
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #2 (permalink)  
Antiguo 27/10/2003, 13:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa la variable de servidor: REMOTE_ADDR

Código PHP:
echo $_SERVER['REMOTE_ADDR']; 
Y si quieres ver el nombre de ese PC de tu intranet .. puedes también resolver su DNS con:

Código PHP:
gethostbyaddr($_SERVER['REMOTE_ADDR']) 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 27/10/2003, 14:36
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 15 años, 6 meses
Puntos: 0
Te agradezco por la respuesta cluster....sin emabrgo ejecutando esas variables predefinibas..me captura el IP y el nombre de la maquina.

Lo que quiero es que me capture el N° de serie del equipo (Mac Address)del cliente ¿Es posible eso?, cuya sintaxis es similar a: 00-01-02-3f-A6-E7

Gracias por lqa respuesta
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #4 (permalink)  
Antiguo 27/10/2003, 14:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm ahora no recuerdo si existe tal variabel de servidor .. En tal caso revisalas aquí o en el standar CGI:

Variables predefinidas de PHP:
http://www.php.net/manual/en/reserved.variables.php

Standar CGI 1.1
http://hoohoo.ncsa.uiuc.edu/cgi/env.html

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 27/10/2003, 15:30
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años
Puntos: 68
Dudo que con PHP directamente puedas obtener la MAC ADDRESS en una variable de Entorno, ya que "creo" que la dirección MAC no viaja en lo absoluto en una petición web, eso ya es propio de una capa inferior al protocolo http. Ya tendrías que meterte directamente con el protocolo TCP/IP.
Desconozco que puedas hacer con PHP respecto a esto, pero si existiera algo asi, deberias buscar en la sección del Manual de PHP referido a las funciones de Red.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #6 (permalink)  
Antiguo 29/10/2003, 20:42
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 3 meses
Puntos: 8
Windows Xp, (y pienso que algunas versiones de Win NT) poseen el comando getmac, que se ejecuta desde la linea de comandos (usa la ayuda de windows para mas informacion).
Asi que bastaría con emplear alguno de las funciones que te pone a disposicion PHP para "capturar" la salida de ese comando.
Como exec(), system(), o las comillas simples para atras (`).

Saludos!
  #7 (permalink)  
Antiguo 30/10/2003, 07:51
 
Fecha de Ingreso: octubre-2003
Ubicación: Tixkokob, Yucatán
Mensajes: 1
Antigüedad: 14 años, 1 mes
Puntos: 0
Si es bajo windows puedes ejecutar el comando IPCONFIG /ALL > MacAdd.txt esto te crea un archivo de texto (MacAdd.txt) con la direcciòn Mac, el Hostname, la ip, la mascara y la puerta de enlace que puedes leer facilmente.

Última edición por boxham; 30/10/2003 a las 07:54
  #8 (permalink)  
Antiguo 30/10/2003, 08:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Esos metodos recogen la MAC del equipo done se ejecutan o del equipo remoto que se conecta? Es que me parece que con eso solo se conseguiria la MAC del servidor, no la del equipo que se conecta (al menos por los datos que devuelve el ipconfig).

Saludos.

PD: En todo caso seria el Apache el que tendria acceso a ese dato, ya que es el que tiene contacto directo con la conexion.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 30/10/2003, 08:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(así es josemi, por eso si existe algo .. debería ser una variable de entorno para que "PHP" le pregunte a "Apache" por tal variable .. como se hace con otras como la IP del cliente conectado y cosas así).

¿mm Tal vez por "sockets"? .. por NetBios/UDP o algo así se le pueda preguntar a X pc (ya sabes la IP si lo obtienes con REMOTE_ADDR) por esos detalles del MAC-ADDRESS.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 30/10/2003, 09:10
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
Ummmmm mas que una variable de entorno .... seria informacion de: HTTP Headers Information por que las variables de entorno te devuelven informacion de entorno del servidor, como puedes ver haciendo un phpinfo() .... voy a investigar y si eso intentare hacer el code para que PHP te devuelva el MAC address :D
__________________
Usuario registrado de Linux #288725
  #11 (permalink)  
Antiguo 30/10/2003, 10:39
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
Bueno preguntando a los expertos ..... es imposible:
Cita:
Hi

I am looking for the code that generates the value of REMOTE_ADDR so that I want to make a code that gives the MAC address of the visitor and I am looking into http://lxr.php.net but I don´t found nothing, if some can help me ...

Regards

Iván Rodriguez Espada
_________________________
ALAPLAYA.COM
http://www.alaplaya.com
[email protected]
Cita:
The MAC address is only available on the same network, but you could
always read the headers (php.net/getallheaders). This is the wrong list,
BTW.

Regards, Filip de Waard
Cita:
Not in the PHP Source, you'll have to find the source of IE or Mozilla
in order to do something. This is something totally related to the
client side, and not to the serverside (apache, php, mysql).

Derick
Cita:
Ok, But if the REMOTE_ADDR is part of the client and it gives back a PHP variable to it, it is not possible to do the same with the MAC address
Cita:
Of course not, who is supposed to show PHP (on the server) the MAC
address? right, the CLIENT, or also called the Browser. Now, as this is
impossible UNLESS you hackup the browser... wrong list. (And killfile)

Derick
Cita:
IP addresses are machine identifiers in IP, so when someone makes an
http connection to you, you two establish a TCP/IP session and thus you
need to know the remote server IP address to make it work at all.

MAC addresses are part of the lower level ethernet protocol, and serve
as a way of direct neighbors (folks on the same ethernet segment) to
know who each other are. Thus, when you have a connection that crosses
any sort of network routing device (anything that does more than simply
forward packets), the MAC address does not get propogated. This is
simply 'The Way Things Work' (tm), and their is no changing it.

Of course a machine knows it's own MAC and a browser can set any header
field it want, but deciding what to send is up to the browser, not up
to PHP. I don't know of any browser that sends it's MAC address, but
regardless that is something that's up to the browser vendors, not PHP.

We understand what you are trying to do and you can't do it.

George
Pues eso jaja, soy un iluso jaja asi que no se puede.
__________________
Usuario registrado de Linux #288725

Última edición por epplestun; 30/10/2003 a las 11:10
  #12 (permalink)  
Antiguo 30/10/2003, 18:15
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 3 meses
Puntos: 8
epplestun, pero nuestro amigo esta trabajando en una intranet, asi que pieso que bastaria con hacer una
<?php
$data = `gatmac /s $_SERVER['REMOTE_ADDR'] /fo CSV`;
// puedes procesar $data explode()
?>
y listo.
Igual tengo mis dudas...
  #13 (permalink)  
Antiguo 31/10/2003, 02:23
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
Bueno ..... pero para eso debes tener en tu servidor esa aplicacion.
__________________
Usuario registrado de Linux #288725
  #14 (permalink)  
Antiguo 31/10/2003, 12:37
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 15 años, 6 meses
Puntos: 0
Veo que esta pregunta lo han tomado como un reto personal todos ustedes y gracias por ello. El espíritu investigador y de superar obstaculos es un sello intrínseco de los que estamos involucrados en esta tecnología.

Por otro lado, no abra forma de capturar el MAc ADDRESS por medio de una aplicación que el cliente pueda bajar y esta a su vez...enviar dicho dato al servidor?


Saludos
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #15 (permalink)  
Antiguo 31/10/2003, 14:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa la opción que te proponer fran86. Todo esto si el servidor está en la misma red que los PC's (que en tu caso es así) ..

Con la IP de la máquina (que se la dá REMOTE_ADDR) ejecutas el comando mencionado en el servidor .. que sería lo mismo que irte a tu "ejecutar" y hacerlo a mano .. (si usas windows .. en otros sistemas operativos será otro comando)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:22.