2009-09-29 19 views
7

私は既にThis Questionをチェックしていますが、探しているものが見つかりませんでした。私はWindows(クライアント)を実行しており、サーバーは従来のメインフレームタイプのサーバーです。Telnetの自動化/スクリプト

基本的には、スクリプト、Pythonコードなどを書いて、telnetを介してサーバーにいくつかのコマンドを知らせる必要があり、出力を取得することをお勧めします。その後、終了します。

どのような方法が最適ですか?

答えて

19

telnet接続との間で読み書きを行う接続はpython library for telnetです。

リンクを確認してください。それはあなたが探しているもののいくつかの基本的な例があります。ここで

は、リンクからの例です:

import getpass 
import sys 
import telnetlib 

HOST = "localhost" 
user = raw_input("Enter your remote account: ") 
password = getpass.getpass() 

tn = telnetlib.Telnet(HOST) 

tn.read_until("login: ") 
tn.write(user + "\n") 
if password: 
    tn.read_until("Password: ") 
    tn.write(password + "\n") 

tn.write("ls\n") 
tn.write("exit\n") 

print tn.read_all() 

それはtelnetサーバに接続します。ログイン資格情報を送信して、uncomコマンドlsを実行します。その後、セッションを終了し、Telnetサーバーからのすべての出力を出力します。

+4

ちょうどノート私のサーバー上で、私は '\ r'代わりに' \のN 'のを追加するために必要なこと。それをデバッグするのにしばらく時間がかかりました。 – Ayman

0

自分で使ったことはありませんでしたが、おそらくpexpectが必要ですか?

"Pexpectは等SSH、 FTPは、passwdは、telnetなど インタラクティブなアプリケーションを自動化するために使用することができます"

+0

PExpectはWindowsクライアントでは実行されません。それは、UNIXのようなシステムが必要であるというエラーを出します。 – Ayman

+1

私はより慎重に質問を読む必要があります、申し訳ありません! :) – Kylotan

3

Exscriptもお勧めします。簡単なタスクの一部を簡略化しますが、より複雑な抽象化レベルがあります(Exscriptはスクリプト言語です)。いずれにせよ、チェックアウトする価値がある。

0

このスレッドは古いですが、私は先に進み、とにかく投稿すると思っていました。あなたのニーズに最も適していると思われるAutoMateと呼ばれるプログラムがあります。それはWindows上で動作し、使用するのはかなり簡単です。 telnetの自動化に

詳細情報 - http://www.networkautomation.com/sales/terminal-emulation-automation/

関連する問題