Passer un script avec telnet a partir de DOS

Joffrey -  
cs_nitneuc Messages postés 10 Statut Membre -
Bonjour a tous,

Je travaille actuellement sur un fichier .bat dont le but est d automatiser un process. Le debut du script consiste a faire des set de plusieurs variables. Puis je dois me connecter a une cible et lancer une connection telnet puis faire 3 command a l interieur de telnet :

< cd "prod/bin"

<putenv("OSAGENT_PORT=999")

<load.cmd

Mon PC est un P3 800 qui tourne sous Win NT 4.0
La cible est un P3 650 tournant sous VxWorks

J ai trouve par mes propres moyens que pour lancer telnet et executer le script Toto automatiquement, il fallait utiliser la commande suivante dans la fenetre DOS:

telnet 3.233.12.14 -s toto.txt

Cependant, lorsque je tape la commande avec ds toto.txt les 3 commandes citees ci dessus, cela ne marche pas et j ai eu beau retourner la question, je suis perdu ...

Je vous remercie a l avance pour votre aide, meme si vous n avez que des pistes je suis preneur.

Encore merci a vous tous

Jojo

15 réponses

  1. REXAS
     
    tu peux utiliser TERATERM Macro (gratuit sur le net) avec les commandes suivantes:

    connect 'nom du serveur ou @IP serveur'
    wait 'login:'
    sendln 'login de connection telnet'

    wait 'Password:'
    sendln 'mot de pass'
    et apres meme syntaxe pour tes autres commandes ...

    A+
    REXAS.
    3
    1. Yvan92
       
      Bonjour,
      J'ai installé tera term.
      Mais je ne trouve pas de tuto pour faire des macro.
      As tu un tuto ou exemple de macro plus complexe (var,argument etc ..)

      Ou un autre logiciel qui pourrais me permettre de faire la meme choase (macro en telnet et port com)

      Merci d'avance
      0
  2. chris
     
    OK après avoir posé moi-même la même queqtion, je crois avoir deux réponses qui fonctionnent bien:
    1/ avec un script VBS on peut passer des commandes à Telnet... Ca semble bien marcherpour l'envoi de commandes mais je n'ai pas pu recevoir les réponses (ex: je peux demander de lire des messages POP mais ils s'affichent à l'écran et je n'ai pas trouvé commente récupérer le contenu des messages... pas ex pour le coller dans un fichier)
    Bref... pour envoyer la lecture des messages le script est ci dessous :
    set wsh=wscript.createobject("wscript.shell")
    wsh.run "telnet.exe -f telnet.log pop.free.fr 110"
    wscript.sleep 1000
    wsh.sendkeys "user toto~"
    wscript.sleep 1000
    wsh.sendkeys "pass motdepasse~"
    wscript.sleep 1000
    wsh.sendkeys "list~"
    wscript.sleep 1000
    wsh.sendkeys "retr 1~"
    wscript.sleep 1000
    wsh.sendkeys "quit~"
    wscript.sleep 1000
    wsh.sendkeys "~"
    wscript.sleep 1000

    Vous copiez le texte ci-dessus dans un fichiers x.vbs sur votre bureau et en cliquant dessus ça lit la boite TOTO chez FREE avec le mot de passe MOTDEPASSE
    et ensuite ça charge et affiche le premier message... si il existe !

    2/ comme cette solution ne me plaisait pas beaucoup, j'ai fini par développer un petit "truc" avec DELPHI qui va tip-top !
    Il reçois les messages, les analyse et en tire quelques info à placer en base de données...
    Si ça intéresse quelqu'un passez moi un petit mot sur RIPPLINGER.Christian@online.fr et je vous fais passer le source... si vous n'avez pas DELPHI je vous donnerai directement l'exécutable.
    Quant-à la réponse pour JOFFREY... ce n'est pas du POP mais je crois que l'acceès TELNET doit être à peu près aussi simple depuis DELPHI... donne-moi un peu plus d'info (du style un exemple de site où tu veux passer des commandes) pour que j'essaye et je te dirai comment faire...
    3
  3. Herve
     
    Bonjour,

    Tu peux utiliser expect sous windows.

    http://expect.nist.gov/#windows

    A+

    Herve
    2
    1. Mellah2 Messages postés 2 Statut Membre 3
       
      Trouve ci-après la commande en ligne et un exemple de script.


      C:\Program Files\Expect-5.21\bin>expect.exe expect_run_telnet @IP commande

      Script:
      # Program Name: expect_run_telnet
      # Date: 08/05/2006
      # Intent: This "expect" program is a wrapper to automate sending commands
      # through the telnet interface.
      #
      # Usage: expect_run_telnet <Ipaddr> <command>


      proc telnetLogin {user passwd prompt} {
      expect {}
      send "$user\r"
      expect "Password:"
      send "$passwd\r"
      expect $prompt
      return "0"
      }

      #
      # main
      #

      # Exit if not enough args supplied
      if {$argc != 2} {
      puts "\nincorrect number of arguments supplied"
      puts " \nusage: $argv0 <Ipaddr> <cmd>"
      puts "\nexiting ..."
      exit
      }

      set Ipaddr [lindex $argv 0]
      set cmd [lindex $argv 1]

      # login parameters
      set suser admin
      set spasswd password
      set sprompt >

      set timeout 100
      spawn telnet $Ipaddr

      set sw_spid $spawn_id

      # exit since it was not possible to connect.
      catch {telnetLogin $suser $spasswd $sprompt} code
      if {$code != 0} {
      puts "unable to access $Ipaddr"
      exit
      }

      set spawn_id $sw_spid

      # send the command
      send "$cmd\r"
      expect $sprompt
      puts "\n"


      Herve
      0
  4. Joffrey
     
    SI vous plait aidez moi, je suis vraiment en galere et meme si vous pensez que votre idee est pourrie donnez la qd meme !! J accepte tout !!!

    Encore merci d avance
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Paco
     
    Essaie avec telnet 3.233.12.14 <toto.txt
    1
    1. steph
       
      j'ai essayé pour l'envoie d'un mail mais rien n'y fait. Pourtant mon fichier d'entrée est bon, je l'ai testé manuellement en mode interactif ligne par ligne.
      telnet smtp.truc.com 25 < commandsend.txt
      Des idées ?
      0
  7. blurk Messages postés 493 Date d'inscription   Statut Membre 160
     
    salut,
    je sais c'est pas terrible, mais bon
    j'edite le fichier.bat (avec le bloc notes), je fais sélectionner tout/copier,et dans telnet je fais clic de droite coller dans la console.
    ça évite déjà de tout taper une deuxième fois...

    A+
    1
  8. Christian
     
    Bonjour... j'arrive peut être un peu tard mais j'ai le même problème que toi...
    Je cherche à automatiser la réception de messages pop pour
    les traiter par un batch sous DOS.
    La réception ne pose pas de problème "à la main" mais impossible d'utiliser un SCRIPT ou BATCH avec Telnet...
    As tu trouvé une solution sympa ?
    1
  9. Joffrey
     
    Merci bien, j ai essaye mais cela ne marche pas, cependant grace a vous j ai trouve une piste je pense pouvoir faire passer un script VBA avec la commande et ca doit normalement marcher ....

    Si qqun connait un bon site sur le VBA avec tuto et tout je suis partant
    0
    1. Florian
       
      Tu veux des cours sur le VBA... Essaies : www.developpez.com

      Tu devrai trouver ton bonheur.
      0
  10. simonito
     
    Bonjour,

    j'ai le même problème que vous. Quelqu'un a t'il trouvé une solution ?
    0
  11. sabrina2355
     
    bonjour à tous j'ai besoin de votre aide , j'ai réalisé un logiciel sous delphi et c bon maintenant j'ai besoin de quelqu'un qui m'aide d'avoir l'exécutable dans une autre machine sans aide de la base de données, svp aidez moi, car je vais le présenter il marche bien mais le problème que je vais le présenter dans une autre machine et il ne faut pas que j'installe le delphi sur cette machine et aussi il faut qu'il soit dépend de la bases de données.
    merci d'avance
    0
  12. Tonyja114
     
    Salut je voudrai bien savoir coment se connecter à un serveur via telnet, avec un poste connecté à l'internet par un reseau local.
    0
  13. JEIGO Messages postés 1 Statut Membre
     
    slt tlmnd.
    je suis en stage et je doit configurer un accès telnet: login, psswd et tt sa quoi mais c'est ma premiere fois de toucher à telnet! please help!!!
    0
    1. OOoForum Messages postés 3871 Date d'inscription   Statut Membre Dernière intervention   965
       
      Quel est le rapport avec le problème exposé en 2003 ?

      TelNet est de toute façon un protocole non sécurisé, il faut passer par SSH.
      0
      1. othanga > OOoForum Messages postés 3871 Date d'inscription   Statut Membre Dernière intervention  
         
        le rapport est telnet. c'est le fil rouge renvoyé par google... un fil rouge que le lecteur ne lit pas ou ne comprend pas (c'est au choix).
        Quant au "de toute façon", je ne comprend pas cette réaction à l'emporte-pièce pas plus que cette mode du tout-sécurisé. J'ai dans mon architecture certains processus où telnet est utilisé et ça ne cause aucun problème.
        Un échange doit être protégé quand il circule dans l'espace public, mais tant que tu restes confiné dans un espace privé, pourquoi te compliquer la vie à le sécuriser ?
        Faudrait-il tout sécuriser ? https ? pops ? smtps ? echos ? calltos ? menfins ?
        Une solution plus longue mais plus efficace serait d'apprendre aux gens à réfléchir, à se poser les bonnes questions : ce flux doit-il être crypté ? pourquoi diable ce telnet refuse-t-il mon fichier en entrée ?

        Au fait... pourquoi telnet refuse-t-il un fichier en entrée ?
        0
    2. Derdonn
       
      C'est vrai ça... pourquoi?!!!
      0
  14. noukie4
     
    Utilisez Kitty, permet de faire une connexion telnet en automatique, et de lancer les commandes que l'on veux.....
    0
  15. cs_nitneuc Messages postés 10 Statut Membre 11
     
    Voici une solution avec Putty ou Kitty :

    kitty -telnet pop.laposte.net 110 -cmd "c:\temp\lines.bat"

    Le fichier "c:\temp\lines.bat" contenant les commandes POP.

    Voilà, en espérant aider ceux qui se retrouveraient comme moi sur ce topic.
    0
    1. cs_nitneuc Messages postés 10 Statut Membre 11
       
      kitty -telnet pop.laposte.net 110 -cmd "c:\temp\lines.bat" -log fichier.log écrit le contenu de la session dans un fichier texte
      0