[Shell/ksh] Log telnet

Log telnet [Shell/ksh] - Shell/Batch - Programmation

Marsh Posté le 03-04-2009 à 15:50:28    

Bonjour
 
 
Dans un script en ksh je lance un telnet sur une ip puis j'envoie la commande stop, ce qui a pour but de quitter le telnet qui écrit un code retour ("ok" si réussi ou "nok" si échec).
 
J'aimerais savoir comment récupérer ce log, c'est à dire la réponse (ok/nok) pour me permettre de savoir si l'envoi de ma commande s'est bien déroulé.
 
Actuellement je ne suis capable que de vérifier le retour de telnet (si la connection est passé/refusée) mais pas ce qui se fait dans le 'prompt' de celui-ci.
 
Dans les options de la commande j'ai vu un '-n tracefile', je ne sais pas trop si c'est ça mais je n'arrive pas à le faire fonctionner de toute façon...
 
 
A vous... ;)

Reply

Marsh Posté le 03-04-2009 à 15:50:28   

Reply

Marsh Posté le 08-04-2009 à 15:05:45    

:up:
 
Il s'agit en fait de rediriger le output du telnet quelque part...
 
Si qqun a une idée de comment faire ?
 
Merci

Reply

Marsh Posté le 08-04-2009 à 16:30:04    

Cela dépend des versions de telnet.
 
Par exemple, pour moi, man telnet indique :

Citation :

         -n tracefile
                Opens tracefile for recording trace  information.
                See the set tracefile command below.
[...]
           tracefile
                 This is the file to which the output,  generated
                 when  the  netdata  or the debug option is TRUE,
                 will be written. If tracefile  is  set  to  "-",
                 then  tracing  information  will  be  written to
                 standard output (the default).

Reply

Marsh Posté le 22-04-2009 à 11:32:35    

Déjà essayé le tracefile ça n'écrit absolument rien dans le fichier !
 
Mais j'ai trouvé une méthode simple je redirige la sortie standard et la sortie d'erreur vers 2 fichiers temporaires que j'analyse ensuite.
 
De cette façon pour ceux que ça intéresse :
 

Code :
  1. /usr/bin/telnet $IP $PORT 1>file1.tmp 2>file2.tmp <<-END_SCRIPT
  2. # Commandes telnet
  3. END_SCRIPT

Reply

Marsh Posté le 22-04-2009 à 13:34:40    

c'est assez foireux. Utilise de préférence expect.

Reply

Marsh Posté le 22-04-2009 à 15:01:27    

J'ai pensé à Expect mais il est pas natif sur mon Unix (d'ailleurs l'est-il sur d'autres?) et c'est un problème dans mon cas et puis c'est plus long à 'déployer', au niveau de la syntaxe notamment.

Reply

Marsh Posté le 22-04-2009 à 16:08:09    

Le problème c'est que ta solution fonctionne à peu près si t'as juste à faire passer des commandes en telnet qui ne vont que cracher des trucs. Mais si à un moment tu dois répondre à une question ...

Reply

Marsh Posté le 22-04-2009 à 17:41:41    

En effet. Mais je ne lance que des commandes qui ne nécessitent pas de retours. Je ne fais que récupérer l'output généré.

Reply

Sujets relatifs:

Leave a Replay

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