Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3076 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  telnet et fsockopen

 

 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

telnet et fsockopen

n°1351122
Yertle
Posté le 21-04-2006 à 12:26:04  profilanswer
 

Yop !
 
Je cherche le moyen d'établir une connexion telnet sur un serveur distant à partir de PHP, mais j'ai quelques petits problèmes :
 
mon code

Code :
  1. $errorno = '';
  2. $errorstr = '';
  3. $connect = fsockopen("128.1.1.121",23,$errorno,$errorstr,5);
  4. if($connect != false){
  5. $i = 0;
  6. while (!feof($connect)){
  7.  echo $i.". ".fgets($connect,256)."<br />";
  8.  $i++;
  9. }
  10. fclose($connect);
  11. }else{
  12. echo "connection échouée : ".$errorstr;
  13. }


est super long à l'execution et me renvoi ça

Citation :


0. ÿþ%ÿý
1.  
2.  
3.
Fatal error: Maximum execution time of 300 seconds exceeded in c:\Inetpub\wwwroot\niko\code\testssh.php on line 8


 
Après en cherchant un peu j'ai trouvé des scripts et en essayant de les déchiffrer j'ai vu que lors de la connection il fallait envoyer ensuite une espèce de header avec plin de chr("qqchose" ).
 
Bref je tatonne mais j'y arrive pas.

mood
Publicité
Posté le 21-04-2006 à 12:26:04  profilanswer
 

n°1351130
nargy
Posté le 21-04-2006 à 12:42:40  profilanswer
 

Oui, telnet est un protocole à part.
Basiquement, tu peut envoyer des chaînes de caractères ASCII, mais il y a certains code d'échappement qui spécifient diverses options au serveur telnet.
Tu trouvera plein de doc sur le net, une liste des codes sont dans man telnet, option ``send``.
http://www.mcsr.olemiss.edu/cgi-bin/man-cgi?telnet
Il y a de plus les codes d'échappement console, pour ajouter des couleurs ou bouger le curseur.
http://www.termsys.demon.co.uk/vtansi.htm

n°1351314
Yertle
Posté le 21-04-2006 à 15:26:46  profilanswer
 

ouais merci bien.
Ceci dit c'est pas trop ça que je cherche. Je veux écrire un script qui permet de simuler une connexion telnet, cad que j'ai pas d'interface et l'utilisateur doit même pas le remarquer...
 
J'ai un peu fait évoluer mon code :

Code :
  1. $errorno = '';
  2. $errorstr = '';
  3. $connect = fsockopen("128.1.1.121",21,$errorno,$errorstr,5);
  4. if($connect != false){
  5. $i = 0;
  6. fputs($connect,chr(0xFF).chr(0xFB).chr(0x1F).chr(0xFF).chr(0xFB).
  7. chr(0x20).chr(0xFF).chr(0xFB).chr(0x18).chr(0xFF).chr(0xFB).
  8. chr(0x27).chr(0xFF).chr(0xFD).chr(0x01).chr(0xFF).chr(0xFB).
  9. chr(0x03).chr(0xFF).chr(0xFD).chr(0x03).chr(0xFF).chr(0xFC).
  10. chr(0x23).chr(0xFF).chr(0xFC).chr(0x24).chr(0xFF).chr(0xFA).
  11. chr(0x1F).chr(0x00).chr(0x50).chr(0x00).chr(0x18).chr(0xFF).
  12. chr(0xF0).chr(0xFF).chr(0xFA).chr(0x20).chr(0x00).chr(0x33).
  13. chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0x2C).chr(0x33).
  14. chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0xFF).chr(0xF0).
  15. chr(0xFF).chr(0xFA).chr(0x27).chr(0x00).chr(0xFF).chr(0xF0).
  16. chr(0xFF).chr(0xFA).chr(0x18).chr(0x00).chr(0x58).chr(0x54).
  17. chr(0x45).chr(0x52).chr(0x4D).chr(0xFF).chr(0xF0));
  18. // sleep(12500);
  19. fputs($connect,chr(0xFF).chr(0xFC).chr(0x01).chr(0xFF).chr(0xFC).
  20. chr(0x22).chr(0xFF).chr(0xFE).chr(0x05).chr(0xFF).chr(0xFC).chr(0x21));
  21. // sleep(12500);
  22. while (!feof($connect)){
  23.  echo $i.". ".fread($connect,256)."<br />";
  24.  // sleep(12500);
  25.  $i++;
  26. }
  27. fclose($connect);
  28. }else{
  29. echo "connection échouée : ".$errorstr;
  30. }


mais là ça boucle et j'ai pas de résultat, tout à l'heure ça a bouclé 15 mintues avant que je le stoppe.

n°1351381
nargy
Posté le 21-04-2006 à 16:40:39  profilanswer
 

bon, alors attends, tu te rends compte que la connexion telnet va être fermée lorsque la page PHP s'est terminée?
 
utilise fflush() sur la socket, au cas où.
 
si tu envoie des codes, certains d'entre eux te renvoient des codes en retour, qu'il faut lire dans l'ordre.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  telnet et fsockopen

 

Sujets relatifs
Ouvrir un telnet ou faire un ping...Démarer un programme sous telnet
Pb TELNET[PHP / CURL] Comment établir une connexion TELNET ?
fsockopen() & Warnings ????Equivalent de Telnet sous WinXP en plus agréable
replacement fopen - fsockopen - quick n dirty hackprobleme telnet
Telnet et STP en Cfsockopen
Plus de sujets relatifs à : telnet et fsockopen


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)