Bonjour a tous,
je commence a me desesperer de ne plus pouvoir acceder a distance a mon serveur firewall via telnet,j'ai essayé pas mal de code mais il me retourne tjs la meme chose : ÿýÿý ÿý#ÿý'ÿýÿûÿýÿûÿú ÿðÿú'ÿðÿúÿðÿýÿûÿý!Red Hat Linux release 9 (Shrike) Kernel 2.4.20-8 on an i686 omar vide_123 vi /etc/test => sachant que "omar" est mon login,"vide_123" est mon psswd, "vi /etc/test" est la commande a executer,donc c'est tous ce que j'obtiend sans qu'il me retourne le resultat de la commande!
le code essayé:
<?
//variables du script
$serveur = "192.168.1.85"; //serveur de connexion netdis.cls.fr
$login = "omar"; //login au serveur
$password = "vide_123"; //password
$commande = "vi /etc/omarov"; //commande à effectuer
function telnet($serveur, $login, $password, $commande) {
$close = "LOGOUT";
// entetes TELNET
$header1=chr(0xFF).chr(0xFB).chr(0x1F).chr(0xFF).chr(0xFB).
chr(0x20).chr(0xFF).chr(0xFB).chr(0x18).chr(0xFF).chr(0xFB).
chr(0x27).chr(0xFF).chr(0xFD).chr(0x01).chr(0xFF).chr(0xFB).
chr(0x03).chr(0xFF).chr(0xFD).chr(0x03).chr(0xFF).chr(0xFC).
chr(0x23).chr(0xFF).chr(0xFC).chr(0x24).chr(0xFF).chr(0xFA).
chr(0x1F).chr(0x00).chr(0x50).chr(0x00).chr(0x18).chr(0xFF).
chr(0xF0).chr(0xFF).chr(0xFA).chr(0x20).chr(0x00).chr(0x33).
chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0x2C).chr(0x33).
chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0xFF).chr(0xF0).
chr(0xFF).chr(0xFA).chr(0x27).chr(0x00).chr(0xFF).chr(0xF0).
chr(0xFF).chr(0xFA).chr(0x18).chr(0x00).chr(0x58).chr(0x54).
chr(0x45).chr(0x52).chr(0x4D).chr(0xFF).chr(0xF0);
$header2=chr(0xFF).chr(0xFC).chr(0x01).chr(0xFF).chr(0xFC).
chr(0x22).chr(0xFF).chr(0xFE).chr(0x05).chr(0xFF).chr(0xFC).chr(0x21);
// connexion
$fp=pfsockopen($serveur,23);
// envoi de l'entete telnet
fputs($fp,$header1);
sleep(1);
fputs($fp,$header2);
sleep(1);
//recupération de la réponse
$output=@fread($fp,1024);
$stat=socket_get_status($fp);
$output.=@fread($fp, $stat["unread_bytes"]);
fputs($fp,$login."\r" );
sleep(1);
//recupération de la réponse
$output.=@fread($fp,1024);
$stat=socket_get_status($fp);
$output.=@fread($fp, $stat["unread_bytes"]);
//password*/
fputs($fp,$password."\r" );
sleep(1);
//recupération de la réponse
$output.=@fread($fp,1024);
$stat=socket_get_status($fp);
$output.=@fread($fp, $stat["unread_bytes"]);
// envoi de la commande
fputs($fp,$commande."\r" );
sleep(1);
//lecture de la reponse
$output.=@fread($fp,1024);
$stat=socket_get_status($fp);
$output.=@fread($fp, $stat["unread_bytes"]);
//logout
fputs($fp,$close."\r" );
fclose($fp);
$result = strpos($output, $commande);
if ($result) {
return $output;
echo "bien";
}
else {
echo $output;
echo "mal";
return FALSE;
}
}
// Fin de la fonction de connexion TELNET
///////////////////////////////////////////////////////
//appel des resultats par TELNET
$reponse = telnet($serveur, $login, $password, $commande);
echo $reponse;
if (!$reponse) {
sleep(3);
$reponse = telnet($serveur, $login, $password, $commande);
}
echo $reponse;
?>
j'attend de l'aide de tous ceux qui aime le partage de l'information.