begin process at 2012 05 28 10:20:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Réseau & Internet

 > 

Sockets

 > 

connexion a distance via le telnet en php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

connexion a distance via le telnet en php

jeudi 8 mai 2008 à 13:47:27 | connexion a distance via le telnet en php

omarboutkhoum

bonjour à tous,j'ai essayer la classe telnet suivant que j'ai trouve sur internet pour me connecter par telnet a un serveur unix,mais le probleme c'est que la commande emis ne s'execute pas,ce qui veut dire que le login et le mot de passe ne passent pas.
<?
error_reporting(-1);

class Telnet {
        /* (c) thies <email protected> */

        var $sock = NULL;

        function telnet($host,$port) {
        $this->sock = fsockopen($host,$port);
                socket_set_timeout($this->sock,2,0);
        }

    function close() {
        if ($this->sock)
            fclose($this->sock);
        $this->sock = NULL;
        }

    function write($buffer) {
                $buffer = str_replace(chr(255),chr(255).chr(255),$buffer);
        fwrite($this->sock,$buffer);
        }

        function getc() {
                return fgetc($this->sock);
        }

    function read_till($what) {
        $buf = '';
                while (1) {
                        $IAC = chr(255);

                        $DONT = chr(254);
                        $DO = chr(253);

                        $WONT = chr(252);
                        $WILL = chr(251);

                        $theNULL = chr(0);

                        $c = $this->getc();

                        if ($c === false)
                          return $buf;

                        if ($c == $theNULL) {
                                continue;
                        }

                        if ($c == "\021") {
                                continue;
                        }

                        if ($c != $IAC) {
                                $buf .= $c;

                                if ($what == (substr($buf,strlen($buf)-strlen($what)))) {
                                        return $buf;
                                } else {
                                        continue;
                                }
                        }

                        $c = $this->getc();

                        if ($c == $IAC) {
                                $buf .= $c;
                        } else if (($c == $DO) || ($c == $DONT)) {
                                $opt = $this->getc();
                        // echo "we wont ".ord($opt)."\n";
                                fwrite($this->sock,$IAC.$WONT.$opt);
                        } elseif (($c == $WILL) || ($c == $WONT)) {
                                $opt = $this->getc();
                        // echo "we dont ".ord($opt)."\n";
                                fwrite($this->sock,$IAC.$DONT.$opt);
                        } else {
                        // echo "where are we? c=".ord($c)."\n";
                        }
                }

        }
}

$tn = new telnet("192.168.1.85",23);
echo $tn->read_till("ogin:");
$tn->write("omar\r\n");
echo $tn->read_till("word:");
$tn->write("vide_123\r\n");
echo $tn->read_till("ar]$");
$tn->write("ls\r\n");
echo $tn->read_till("ar]$");
echo $tn->close();
?>
 
si quelqu'un avait une idée qu'il nous partage l'informatiuon?

lundi 21 juillet 2008 à 10:22:01 | Re : connexion a distance via le telnet en php

gnarkk

Bonjour, si ce problème est toujours d'actualité, le soucis se situe sur la ligne 

   $tn = new telnet("192.168.1.85",23);

Il faut définir le port en texte: $tn = new telnet("192.168.1.85","23");
J'ai déjà eu ce pb mais il peut y avoir autre chose.

J'espère avoir pu aider ;)
Bonne journée



Cette discussion est classée dans : tn, echo, sock, chr, if


Répondre à ce message

Sujets en rapport avec ce message

PHP Telnet sur switchs CISCO [ par jaywax ] Bonjour à tous :)J'utilise PHP pour me connecter à des switchs cisco (via telnet) et récupérer le résultat d'une commande que j'exploite ensuite. Mon chanserv [ par sylveur ] Bonjour a tous.Enfait a partir d'un tuto enregistrement de nickserv que j'ai vue ici, qui marche genialement bien, j'ai essayer de faire pareil, mai c Integration produits pour leguide.com flux xml [ par satpromo ] Bonjour,Merci de me donner votre avis sur ce probleme.Depuis que j'ai changé d'hébergeur avec Mysql 5 j'ai l'erreur suivante:A mon avis le script est case php et mysql [ par yoyo77yo ] bonjour et bonne annéeJe vous explique mon probleme (je suis débutant)j'ai un script d'espace membre mais je veux rajouter des choses : en effet je so comment supprimer le paiement et confirmer chaque inscription manuellement [ par asmina22 ] salutj'ai un script sur lequel je veux apporter des modifications:comment supprimer les options de payment et ouvrir les enregistrement sur la base de Problème Insertionflux xml [ par richardjul ] Bonjour,j'ai réalisé un script qui doit récupérer des annonces de job sur un flux xml, et me les injecter dans ma BDD Mysql pour ensuite les afficher case a cocher php /mysql [ par yoyo77yo ] Bonjour !! et bonne année J'ai un probleme : j'ai repris le code de quélqu'un que j'ai payé mais par contre il n'est pas complet donc je voudrait


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,480 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales