ホームページ >バックエンド開発 >Python チュートリアル >Python 2.x で Telnet クライアント プログラミングに Telnetlib モジュールを使用する方法
Python 2 で Telnet クライアント プログラミングに Telnetlib モジュールを使用する方法.xx
Telnet は、一般的に使用されるリモート ログイン プロトコルです。Telnet を通じて、端末とリモート ホスト間の接続を確立し、さまざまな実行を実行できます。操作する。 Python 2.x には、Telnet クライアント プログラミングの実装に使用できる telnetlib モジュールがあります。この記事では、Telnet クライアント プログラミングに telnetlib モジュールを使用する方法を紹介し、いくつかのコード例を示します。
1. telnetlib モジュールをインストールする
Python 2.x では、telentlib モジュールが組み込まれているため、追加のインストールは必要ありません。
2. Telnet クライアントの基本操作
telnetlib モジュールを使用して Telnet 接続を確立する最初のステップは、Telnet を作成することです。物体。 Telnet オブジェクトを作成することで、接続先のホストとポートを指定できます。サンプル コードは次のとおりです。
import telnetlib # 创建Telnet对象 tn = telnetlib.Telnet('127.0.0.1', 23)
接続を確立した後、Telnet の read_until()
メソッドを使用できます。オブジェクトを使用してサーバー プロンプト情報から送信されたログイン情報を読み取り、write()
メソッドを使用して認証用のユーザー名とパスワードを送信します。サンプル コードは次のとおりです。
# 读取登录提示信息 tn.read_until("login: ") # 发送用户名 tn.write("username" + " ") # 读取密码提示信息 tn.read_until("password: ") # 发送密码 tn.write("password" + " ")
認証に成功した後、さまざまな操作を実行できます。 write()
メソッドを使用してコマンドを送信し、read_until()
メソッドを使用してサーバーから返された結果を読み取ることができます。サンプル コードは次のとおりです。
# 发送命令 tn.write("ls" + " ") # 读取结果 result = tn.read_until("prompt") print(result)
Telnet オブジェクトの close()
メソッドを使用して、Telnet 接続を閉じます。リモートホストと。サンプル コードは次のとおりです:
# 关闭连接 tn.close()
3. Telnet クライアント プログラミングの高度な操作
上記の例は基本的な Telnet クライアント プログラミングに過ぎません。次に、より高度な操作をいくつか紹介します。
set_timeout()
メソッドを使用して、Telnet オブジェクトのタイムアウト期間を設定できます。サンプル コードは次のとおりです。
# 设置超时时间为10秒 tn.set_timeout(10)
返された結果を照合するには、expect()
メソッドを使用できます。サーバーによって。 expect()
このメソッドはパラメータとして正規表現を受け入れます。戻り結果が正規表現と一致する場合は一致する文字列を返し、一致しない場合は空の文字列を返します。サンプル コードは次のとおりです。
# 匹配结果 result = tn.expect(["success", "fail"]) print(result)
Telnet クライアント プログラミングは対話型操作もサポートします。ユーザー入力を Telnet オブジェクトの interact()
メソッドに渡すことにより、リモート ホストとのユーザー対話をシミュレートします。サンプルコードは以下のとおりです。
# 开始交互式操作 tn.interact()
4. Telnetクライアントプログラミング時の注意事項
Telnetlibモジュールを使用してTelnetクライアントプログラミングを行う場合、以下の点に注意してください。
属性を使用してデバッグ モードをオンにし、詳細なエラー情報を表示できます。
メソッドのパラメータを使用して、読み取り結果の終了識別子を指定できます。
メソッドを使用して、接続が切断されたかどうかを確認できます。閉まっている。
以上がPython 2.x で Telnet クライアント プログラミングに Telnetlib モジュールを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。