[AIX] kornshell + telnet

kornshell + telnet [AIX] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 06-01-2006 à 11:50:42    

Bonjour,
 
J'ai besoin de faire un script qui test un port toutes les 5 minutes par exemple que je mettrait dans la crontab, je pensait en fait a faire un telnet sur l'IP avec le port, le probleme c'est de savoir comment je peut sortir du telnet via le script, il faut que j'envoi un caractere d'echapement pour que je puisse sortir du telnet.
 
existe t-il une commande permettant d'envoyer une sequence d'echapement ?
 
dans mon cas la sequence est "^]"
 
Merci de votre aide.


Message édité par badre2911 le 07-01-2006 à 20:15:47
Reply

Marsh Posté le 06-01-2006 à 11:50:42   

Reply

Marsh Posté le 09-01-2006 à 13:57:32    

Quelqu'un a une idee la dessus ?
 
Je lance un telnet dans un script et je souuhaite sortir du telnet.
 
Merci de votre aide

Reply

Marsh Posté le 09-01-2006 à 15:17:56    

ben tu lui fais exécuter la commande logout/exit ou bien tu lui balances un </dev/null

Reply

Marsh Posté le 09-01-2006 à 15:42:36    

telnet localhost 21 <<FIN
> ^]
> quit
> FIN
 
^] doit être tapé avec "CTRL+$"
 
C'est ça dont tu as besoin ?

Message cité 1 fois
Message édité par Cruchot le 09-01-2006 à 15:44:19
Reply

Marsh Posté le 09-01-2006 à 17:59:31    

En fait j'ai trouve une solution
 
imaginons que mon script se trouve dans test.ksh
 
a l'interieur je fait
 
telnet XXX.XXX.XXX.XXX 25 < cmde > dummy
 
en fait dans le fichier cmde j'ai echo "^]"
 
le tout est redirige vers dummy, je recupere bien la sortie donc je peut  verifier si ca repond en faisant apres
un cat dummy |grep "Connection to"
 
apparemment ca marche.
 
 

Cruchot a écrit :

telnet localhost 21 <<FIN
> ^]
> quit
> FIN
 
^] doit être tapé avec "CTRL+$"
 
C'est ça dont tu as besoin ?


Reply

Marsh Posté le 09-01-2006 à 18:01:43    

Si tu as Perl d'installé tu peux faire ça (fonctionne en tcp ou udp au choix):
 

Code :
  1. #!/bin/perl
  2. use Net::Ping;
  3. my ($host,$port)=(shift,shift);
  4. my $timeout=5;
  5.     $p = Net::Ping->new("tcp", $timeout);
  6.     $p->{port_num} = $port;
  7.     $ret=$p->ping($host);
  8.     # 0=ok, 1=non joignable
  9.     undef($p);
  10.     exit($ret==0);


Message édité par Cruchot le 10-01-2006 à 15:30:39
Reply

Marsh Posté le 10-01-2006 à 14:00:01    

oui en effet, mais le ping ne me diras pas forcement si par exemple un serveur ldap est down. Le mieux est de faire un telnet <ip> <port>.

Reply

Marsh Posté le 10-01-2006 à 14:51:33    

Tu n'as pas compris le script :p Ici tu lances perl lescript.pl <host> <port>
 
?$=0 si connexion OK et $?=1 si connexion KO

Reply

Marsh Posté le 23-01-2006 à 17:03:48    

Cruchot a écrit :

Tu n'as pas compris le script :p Ici tu lances perl lescript.pl <host> <port>
 
?$=0 si connexion OK et $?=1 si connexion KO


 
Ah ok, en effet ca devrait marcher.
 
Par contre j'ai oublie de mentionner dans le cas ou le telnet me demande un login/mdp
 
est ce que je peut via une redirection avec un pipe ou autre dans mon scritp, inserer un login et un mot de passe ?
 
Merci.
 

Reply

Sujets relatifs:

Leave a Replay

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