Lecture sur socket

Lecture sur socket - PHP - Programmation

Marsh Posté le 07-12-2007 à 08:54:48    

j'ai réaliser un code sur mon routeur adsl pour ouvrir une socket sur lui et tester la configuration avec telnet:

Code :
  1. <?php
  2. $fp = @fsockopen("192.168.2.1",23,&$errno,&$errstr,10);
  3. if (!$fp) {
  4.     echo "ERROR\n".$errstr;
  5. } else {
  6. echo "connection établie\n";
  7. }
  8. $ch.=fread($fp,1000);
  9. echo $ch."\n";
  10. ?>


mais je peux pas lire les données arrivant sur la socket voici ce que je reçois:
connection établie
ÿýÿûÿû

qu'elle est le probleme et pourqoui je reçois ces codes bizarre au lieu de recevoir "username" :??:

Reply

Marsh Posté le 07-12-2007 à 08:54:48   

Reply

Marsh Posté le 15-12-2007 à 14:31:09    

Code :
  1. <?php
  2. $header1=chr(0xFF).chr(0xFB).chr(0x1F).chr(0xFF).chr(0xFB).
  3. chr(0x20).chr(0xFF).chr(0xFB).chr(0x18).chr(0xFF).chr(0xFB).
  4. chr(0x27).chr(0xFF).chr(0xFD).chr(0x01).chr(0xFF).chr(0xFB).
  5. chr(0x03).chr(0xFF).chr(0xFD).chr(0x03).chr(0xFF).chr(0xFC).
  6. chr(0x23).chr(0xFF).chr(0xFC).chr(0x24).chr(0xFF).chr(0xFA).
  7. chr(0x1F).chr(0x00).chr(0x50).chr(0x00).chr(0x18).chr(0xFF).
  8. chr(0xF0).chr(0xFF).chr(0xFA).chr(0x20).chr(0x00).chr(0x33).
  9. chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0x2C).chr(0x33).
  10. chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0xFF).chr(0xF0).
  11. chr(0xFF).chr(0xFA).chr(0x27).chr(0x00).chr(0xFF).chr(0xF0).
  12. chr(0xFF).chr(0xFA).chr(0x18).chr(0x00).chr(0x58).chr(0x54).
  13. chr(0x45).chr(0x52).chr(0x4D).chr(0xFF).chr(0xF0);
  14. $header2=chr(0xFF).chr(0xFC).chr(0x01).chr(0xFF).chr(0xFC).
  15. chr(0x22).chr(0xFF).chr(0xFE).chr(0x05).chr(0xFF).chr(0xFC).chr(0x21);
  16. $fp=fsockopen("192.168.2.1",23);
  17. fputs($fp,$header1);
  18. usleep(125000);
  19. fputs($fp,$header2);
  20. usleep(125000);
  21. fputs($fp,"tt\r" );
  22. usleep(125000);
  23. fputs($fp,"sh conf\r" );     
  24. do                             
  25.     $output.=fread($fp, 80);
  26.     $stat=socket_get_status($fp);
  27. }
  28. while($stat["unread_bytes"]);
  29. echo $output;
  30. fclose($fp);
  31. ?>


je suis vrémnent bloqué, je peux recevoir une réponse si j'introduit pas le mot de passe et la commande sh conf:
user access verification passord:ÿýÿûÿû
mais elle contient ces caractère bizarre.
si j'introduit la commande et le mot de passe ça bloque au niveau de la boucle do while
vraiment j'ai besoin d'aide svp


Message édité par fattouch_squall le 15-12-2007 à 14:31:46
Reply

Marsh Posté le 17-12-2007 à 18:26:22    

À vue de nez, ça m'a l'air d'être des codes telnet. Ces codes servent à déterminer quelle version et quelles options du protocole telnet utiliser entre client-serveur. Certains caractères ascii sont échappés, gestion des couleurs, etc... D'ouvrir une socket ne suffit pas: il te faut créer un wrapper autour de la socket pour obtenir une liaison ASCII correcte.
Renseignes toi sur le protocole telnet.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed