Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2005, 15:53
Avatar de chalchis
chalchis
 
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta Capturar el login del usuario de nt

Hola amigos estoy haciedo un modulo de autentificacion directa
en mi intranet, es decir que al entrar al sitio sepa, que usuario
esta autentificado en la red de esa maquina.

Tarde en encontrar algo , gracias al cyberespacio encontre esto:
aqui le vas el codigo
<?php
/*
Getting netbios info
CopyLeft 2002 (GNU GPL V2) by polo
*/

error_reporting(E_ALL);

/* get the ip of the client */
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}
echo 'ip : '.$ip.'<br>';

/* send a "special" packet */
$fp = fsockopen('udp://'.$ip, 137);
fwrite($fp, "\x80b\0\0\0\1\0\0\0\0\0\0 CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\0\0!\0\1");

/* wait 2 secs, and get the data */
socket_set_timeout($fp, 2);
$data = fread($fp, 256);

/* get netbios records number */
$nbrec = ord($data[56]);

/* display nebios records : the username is a record of type 3 */
echo '<table border="1">';
echo '<tr><th>no</th><th>type</th><th>value</th></tr>';
for($i = 0; $i < $nbrec; $i++) {
$offset = 18 * $i;
printf ("<tr><td>%02d</td><td>%02X</td><td>%s</td></tr>",
$i,
ord($data[72 + $offset]),
trim(substr($data, 57 + $offset, 15)));
}
echo '</table>';
?>


pero me surgieron unos detalles:

1.-Hay equipos conectados en red (con xp pro) que usan clientes inalambricos , pruebo desde estos equipos no me da el nombre del usuario, porque sera??

2.-En los otros equipos que tienen (xp pro) y estan conectados a la red con cable utp al entrar al sitio me arrojaba el username, pero se instalo el service pack 2 y ahora ocuerre lo del prirmer punto.

En los equipos inalambricos y cableados que usan win98 no hay ningun problema el al entrar al sitio me arroja el username

Espero que alguien me pueda ayudar y explicarme bien este proceso que les envio.
__________________
gerardo