Recuperation d'informations Telnet avec PHP - PHP - Programmation
Marsh Posté le 06-05-2011 à 13:26:31
ReplyMarsh Posté le 06-05-2011 à 13:42:55
GordonF_69 a écrit : Pour utiliser telnet avec PHP, tu va devoir passer par SOAP... |
C'est à dire ?!
Car sur ce tutoriel http://www.chrogeek.com/2008/08/tu [...] -avec-php/
personne ne parle de SOAP et ça ne semble pas aussi galere
Marsh Posté le 06-05-2011 à 14:14:49
Les sockets sont bien ce qu'il te faut.
en fait, il faut que tu analyses caractère par caractère, et que tu récupères la commande correspondante :
http://fr.w3support.net/index.php?db=so&id=1189665
Marsh Posté le 06-05-2011 à 14:47:42
Paulp : Pourrais-tu développer stp. Car perso, j'ai bien compris sur ton lien qu'une personne était confronté au même problème que moi, mais la réponse qui lui ai donné ne me parle pas du tout...
Marsh Posté le 06-05-2011 à 14:52:02
Sebastien4444, instant Nespresso avec Paulp ???
Marsh Posté le 06-05-2011 à 15:07:06
zbineulongtime : je ne vois pas le rapport avec le sujet, une note d'humour que je ne dois pas comprendre. Merci d'avance de ne pas polluer mon topic
Marsh Posté le 06-05-2011 à 15:42:11
Regarde le protocole telnet //www.faqs.org/rfcs/rfc854.html
Client et serveur communiquent via des commandes (IAC notamment)
Citation : |
Si on prend
|
On prend pour chaque caractère le code latin-1 correspondant : http://www.ltg.ed.ac.uk/~richard/utf-8.html
Message received :ÿ(255)ý(253)$(036)
Message received :ÿ(255)ý(253)ÿ(255)þ(254)ÿ(255)ý(253)
Message received :ÿ(255)ü(252)!(033)ÿ(255)û(251)
Ca correspond donc, en TELNET à :
Message received :IAC DO ENV
Message received :IAC DO IAC DONT IAC DO
Message received :IAC WONT TOGGLE-FLOW-CONTROL IAC WILL
Bref, ça ne veut pas dire grand chose.
Donne le message que tu reçois, ça sera peut-être plus parlant ...
Marsh Posté le 06-05-2011 à 16:14:48
Pour le code suivant :
<?php
$adresse = '192.9.200.92';
$port = 23;
$socket = fsockopen($adresse, $port);
if (!$socket) {
echo "connexion echoue";
}else{
echo "ok!<br>";
$resul = '';
$resul.= fgets($socket);
echo $resul."<br>";
fwrite($socket, "admin\r\n" ); // login que je suis censé taper une fois la connexion établie
$resul2 = '';
$resul2.= fgets($socket);
echo $resul2."<br>";
}
?>
voici ce que j'obtiens :
Mais donc si je comprends bien, il m'est impossible de recevoir le texte qui s'affiche normalement en ligne de commande lors d'une connexion telnet ?
Marsh Posté le 06-05-2011 à 17:02:10
Pour avoir une version utilisable, utilise ce code :
Code : |
Marsh Posté le 06-05-2011 à 17:13:32
Il y a ici une classe qui implémente tout ça :
http://www.dali.net.nz/Telnet.class.php.txt
Marsh Posté le 09-03-2016 à 12:36:00
Salut tout le monde,
Je ré-ouvre ce sujet . Le problème est-il bien résolu?
Marsh Posté le 24-07-2018 à 16:06:51
sebastien4444 a écrit : zbineulongtime : je ne vois pas le rapport avec le sujet, une note d'humour que je ne dois pas comprendre. Merci d'avance de ne pas polluer mon topic |
De toutes façons tu comprends jamais rien toi
Marsh Posté le 24-07-2018 à 17:19:42
Purée, ce déterrage de topic juste pour se friter
Marsh Posté le 06-05-2011 à 09:17:17
Bonjour,
Je souhait créer une interface web en PHP qui me permette d'afficher certains résultats de commandes Telnet (sur un Firewall mais je ne pense pas que ça change quelquechose).
Ayant vu cette manière de faire sur plusieurs sites, voici mon code:
<?php
$adresse = '192.168.5.10';
$port = 23;
$socket = fsockopen($adresse, $port);
if (!$socket) {
echo "connexion échoué";
}else{
echo "connexion reussi";
echo fgets($socket); // Test de récupération d'affichage de la ligne actuelle
}
?>
En ce qui concerne la connexion, visiblement tout se passe bien puisque j'obtiens l'affichage de "connexion reussi" sur ma page,
MAIS en ce qui concerne l'affichage du fgets, j'obtiens des caractere etrange du genre "ÿû ÿû" avec meme quelques symboles tel qu'une fleche...etc
J'ai même éssayer d'utiliser le parametre optionel length de fgets avec un fgets($socket, 2048) mais ça ne change rien.
Une idée pour m'aider à résoudre ce problème ?