Récupérer le Workgroup

Résolu
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012 - 10 sept. 2007 à 14:42
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012 - 11 sept. 2007 à 14:55
Bonjour à tous,

Je voudrais savoir s'il est possible de récupérer le nom du workgroup du client avec un script php ? Si oui, comment s'y prendre ? J'ai fait quelques recherches sur google, mais rien de bien...

Merci

2 réponses

vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
10 sept. 2007 à 19:01
Saell og blesuð

Si votre server apache est sous windows vous pouvez executer nbtstat -A addr_ip puis parser le resultat si il est sous linux vous pouvez utiliser nmblookup -A addr_ip et meme chose parser le resultat

Vilhjálms
Sigurðsdóttir aka Frëyjá
3
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
11 sept. 2007 à 14:55
ok merci, ça marche.
Entre temps j'ai trouvé une autre solution, un script qui viendrait de Expert-Exchange que j'ai un peu modifié et qui marche aussi.

function getWorkgroup()
{
    // Envoi d'un paquet UDP sur le port Netbios
    $fp = fsockopen('udp://'.$_SERVER['REMOTE_ADDR'], 137);
    fwrite($fp, "\x80b\0\0\0\1\0\0\0\0\0\0 CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\0\0!\0\1");
   
    // attente 2 secs, et on récupère la réponse
    socket_set_timeout($fp, 2);
    $data = fread($fp, 256);
   
    // On récupère les tokens Netbios pour ident.
    $nbrec = ord($data[56]);
   
    // Traitement trame
    for($i = 0; $i < $nbrec; $i++)
    {
        $offset = 18 * $i;
        if(ord($data[72+$offset])==29)
            return trim(substr($data,57+$offset,15));
    }
    return 0;
}// function getWorkgroup()
0
Rejoignez-nous