Telnet et PHP

Eléphanteau du PHP | 19 Messages

28 oct. 2008, 14:14

Bonjour à tous,

Je voudrais un script en php qui m'ouvre une console et qui me tape la commande " telnet $host "
La variable $host sera l'adresse IP de la machine à contacter.
<?
 $host=$_GET["ip"];
$system = ini_get('system');
system("telnet $host");
?>
Pour votre aide merci. Désolés pour ne pas avoir poster mon script comme il marchait pas j'ai supposé que ça en valé pas la peine...
Modifié en dernier par Zoro63 le 28 oct. 2008, 14:54, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

28 oct. 2008, 14:26

Modération :
PHPFrance n'est pas un site de distribution de scripts gratuits,
ni de débuggage de scripts téléchargés et utilisés sans compréhension.

Merci de prendre le temps de lire les règlements.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 19 Messages

31 oct. 2008, 15:03

J'ai créé plus ou moins script mais j'ai encore un petit souci.
En local sur mon poste tout marche bien le script me lance le .bat et effectue la connexion en Telnet.
Mai lorsque que je le fais sur un ordinateur distant qui accéde à ma page Web, le script s'éxecute pas sur son poste mais sur le mien. Est-ce que quelqu'un pourrait m'aider.
$host=$_GET["ip"];
    $shell= fopen("C:\CMD.bat","w+" ); //On crée ou on ouvre un fichier .bat
	$line="telnet ".$host."";  
   fwrite($shell,$line);  //on ecrit ds ce fichier bat la ligne du dessus
   $line2="\n"."exit";// on va a la ligne et on tape la commande pour fermer la fenetre dos
   fwrite($shell,$line2);
   fclose($shell);  //on ferme le fichier bat
   exec("start C:\CMD.bat" ); // on exécute ce fichier bat
Pour votre aide merci.

Mammouth du PHP | 959 Messages

31 oct. 2008, 19:57

Si dans cette page, tu mets ton IP et que cette page tu l'envoi sur un serveur distant (obligatoirement une machine Windows puisque tu parles de "C:\..."), c'est normal, sinon faut que tu mettes "localhost" ;)

ViPHP
ViPHP | 4039 Messages

01 nov. 2008, 00:33

En fait, Zoro64, tu cherches à faire quoi ?

Peut-être peut on te conseiller sur une autre méthode plus efficace..
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphanteau du PHP | 19 Messages

03 nov. 2008, 09:57

Désolés pour la réponse tardive

Si dans cette page, tu mets ton IP et que cette page tu l'envoi sur un serveur distant (obligatoirement une machine Windows puisque tu parles de "C:\..."), c'est normal, sinon faut que tu mettes "localhost" ;)

J'ai écris quelque chose dans ce style.
$shell= fopen("http://localhost/CMD.bat","w+" )
Mais ça marche toujours pas je sais pas trop comment faire avec le localhost. Est-ce que tu pourrais m'éclairer.

En fait, Zoro64, tu cherches à faire quoi ?

Peut-être peut on te conseiller sur une autre méthode plus efficace..
Je souhaite lorsque un utilisateur accéde à ma page PHP qu'une connexion s'établisse en Telnet avec l'adresse IP demandé par celui-ci.

ViPHP
ViPHP | 4039 Messages

03 nov. 2008, 11:18

Donc, l'utilisateur vient sur le site, entre une adresse IP, et se retrouve alors avec une connexion telnet avec le poste correspondant a l'IP qu'il à choisi ?

Comment être sur que le Telnet soit ouvert sur le poste demandé par le visiteur ?
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphanteau du PHP | 19 Messages

03 nov. 2008, 13:30

Il ne se connecte pas un poste mais à un élément réseau. Donc pas besoin de vérifier si Telnet soit ouvert dessus. Mon souci comme je l'ai dis au dessus, en local tout marche bien. Mais si une personne accéde à mon site la console Telnet s'ouvre sur le serveur et non sur son poste à lui.

ViPHP
ViPHP | 5924 Messages

03 nov. 2008, 13:37

Mais si une personne accéde à mon site la console Telnet s'ouvre sur le serveur et non sur son poste à lui.
Euh, c'est totalement normal ça. Si tu exécutes le script sur le serveur, il s'exécutera sur le serveur…

Eléphanteau du PHP | 19 Messages

03 nov. 2008, 13:52

Mais si une personne accéde à mon site la console Telnet s'ouvre sur le serveur et non sur son poste à lui.
Euh, c'est totalement normal ça. Si tu exécutes le script sur le serveur, il s'exécutera sur le serveur…
Merci je le savais, mon problème est là c'est pourquoi je vous demande de l'aide. Comment je peux faire pour qu'il s'éxecute sur le poste qui accède à mon site.

ViPHP
ViPHP | 5924 Messages

03 nov. 2008, 14:04

Mais si une personne accéde à mon site la console Telnet s'ouvre sur le serveur et non sur son poste à lui.
Euh, c'est totalement normal ça. Si tu exécutes le script sur le serveur, il s'exécutera sur le serveur…
Merci je le savais, mon problème est là c'est pourquoi je vous demande de l'aide. Comment je peux faire pour qu'il s'éxecute sur le poste qui accède à mon site.
Ce n'est pas possible… C'est le principe de client-serveur. Tu n'as aucun contrôle de ce qu'il se passe chez le client. Et en plus le client peut très bien être sur un système quelconque…

Eléphanteau du PHP | 19 Messages

03 nov. 2008, 14:20

Je suis dans un réseau local, le site sera en intranet. Donc si je met en partage un dossier est-ce que se sera possible.

	$host=$_GET["ip"];
    $shell= fopen("//10.63.10.120/transit/CMD.bat","w+" ); //On crée ou on ouvre un fichier .bat
	$line="telnet ".$host."";  
   fwrite($shell,$line);  //on ecrit ds ce fichier bat la ligne du dessus
   $line2="\n"."exit";// on va a la ligne et on tape la commande pour fermer la fenetre dos
   fwrite($shell,$line2);
   fclose($shell);  //on ferme le fichier bat
   exec("start //10.63.10.120/transit/CMD.bat" ); // on exécute ce fichier bat
Mon code cré le fichier dans le partage mais par la suite n'arrive pas à l'ouvrir que ce soit en local ou à distance.

ViPHP
ViPHP | 2287 Messages

03 nov. 2008, 18:55

Je ne pense pas que la solution à ton problème soit réalisable directement en PHP. Rien ne permet en effet à PHP d'éxécuter des processus sur des machines tierces. Si tu veux réellement faire ça, il va te falloir t'appuyer sur une autre technologie (par exemple, sous Linux, il y a SSH pour faire ce genre de choses).
if(!@work()){ Nespresso(); } else { what(); }
______________________________

ViPHP
ViPHP | 5924 Messages

04 nov. 2008, 02:08

Je suis dans un réseau local, le site sera en intranet. Donc si je met en partage un dossier est-ce que se sera possible.

	$host=$_GET["ip"];
    $shell= fopen("//10.63.10.120/transit/CMD.bat","w+" ); //On crée ou on ouvre un fichier .bat
	$line="telnet ".$host."";  
   fwrite($shell,$line);  //on ecrit ds ce fichier bat la ligne du dessus
   $line2="\n"."exit";// on va a la ligne et on tape la commande pour fermer la fenetre dos
   fwrite($shell,$line2);
   fclose($shell);  //on ferme le fichier bat
   exec("start //10.63.10.120/transit/CMD.bat" ); // on exécute ce fichier bat
Mon code cré le fichier dans le partage mais par la suite n'arrive pas à l'ouvrir que ce soit en local ou à distance.
Non, non, non, et non…
Quand bien même aurait-il réussi à l'exécuté, il aurait exécuté le fichier //10.63.10.120/transit/CMD.bat sur le serveur. Il faut vraiment que tu apprennes le concept de client-serveur. Tout ce que tu exécutes, tu le fais sur le serveur. Si tu veux exécuter sur une autre machine, tu dois te connecter sur cette machine et la controler pour exécuter la commande.

Eléphanteau du PHP | 19 Messages

04 nov. 2008, 10:07

Ok merci quand même j'espérai qu'il est une solution.