ホームページ  >  記事  >  バックエンド開発  >  Python 2.x で Telnet クライアント プログラミングに Telnetlib モジュールを使用する方法

Python 2.x で Telnet クライアント プログラミングに Telnetlib モジュールを使用する方法

PHPz
PHPzオリジナル
2023-07-30 21:41:401544ブラウズ

Python 2 で Telnet クライアント プログラミングに Telnetlib モジュールを使用する方法.xx

Telnet は、一般的に使用されるリモート ログイン プロトコルです。Telnet を通じて、端末とリモート ホスト間の接続を確立し、さまざまな実行を実行できます。操作する。 Python 2.x には、Telnet クライアント プログラミングの実装に使用できる telnetlib モジュールがあります。この記事では、Telnet クライアント プログラミングに telnetlib モジュールを使用する方法を紹介し、いくつかのコード例を示します。

1. telnetlib モジュールをインストールする

Python 2.x では、telentlib モジュールが組み込まれているため、追加のインストールは必要ありません。

2. Telnet クライアントの基本操作

  1. 接続の確立

telnetlib モジュールを使用して Telnet 接続を確立する最初のステップは、Telnet を作成することです。物体。 Telnet オブジェクトを作成することで、接続先のホストとポートを指定できます。サンプル コードは次のとおりです。

import telnetlib

# 创建Telnet对象
tn = telnetlib.Telnet('127.0.0.1', 23)
  1. ログイン認証

接続を確立した後、Telnet の read_until() メソッドを使用できます。オブジェクトを使用してサーバー プロンプト情報から送信されたログイン情報を読み取り、write() メソッドを使用して認証用のユーザー名とパスワードを送信します。サンプル コードは次のとおりです。

# 读取登录提示信息
tn.read_until("login: ")

# 发送用户名
tn.write("username" + "
")

# 读取密码提示信息
tn.read_until("password: ")

# 发送密码
tn.write("password" + "
")
  1. 操作の実行

認証に成功した後、さまざまな操作を実行できます。 write() メソッドを使用してコマンドを送信し、read_until() メソッドを使用してサーバーから返された結果を読み取ることができます。サンプル コードは次のとおりです。

# 发送命令
tn.write("ls" + "
")

# 读取结果
result = tn.read_until("prompt")
print(result)
  1. 接続を閉じる

Telnet オブジェクトの close() メソッドを使用して、Telnet 接続を閉じます。リモートホストと。サンプル コードは次のとおりです:

# 关闭连接
tn.close()

3. Telnet クライアント プログラミングの高度な操作

上記の例は基本的な Telnet クライアント プログラミングに過ぎません。次に、より高度な操作をいくつか紹介します。

  1. タイムアウト期間の設定

set_timeout() メソッドを使用して、Telnet オブジェクトのタイムアウト期間を設定できます。サンプル コードは次のとおりです。

# 设置超时时间为10秒
tn.set_timeout(10)
  1. 照合には正規表現を使用します

返された結果を照合するには、expect() メソッドを使用できます。サーバーによって。 expect()このメソッドはパラメータとして正規表現を受け入れます。戻り結果が正規表現と一致する場合は一致する文字列を返し、一致しない場合は空の文字列を返します。サンプル コードは次のとおりです。

# 匹配结果
result = tn.expect(["success", "fail"])
print(result)
  1. 対話型操作

Telnet クライアント プログラミングは対話型操作もサポートします。ユーザー入力を Telnet オブジェクトの interact() メソッドに渡すことにより、リモート ホストとのユーザー対話をシミュレートします。サンプルコードは以下のとおりです。

# 开始交互式操作
tn.interact()

4. Telnetクライアントプログラミング時の注意事項

Telnetlibモジュールを使用してTelnetクライアントプログラミングを行う場合、以下の点に注意してください。

    サーバーへの接続が失敗した場合は、
  1. debuglevel 属性を使用してデバッグ モードをオンにし、詳細なエラー情報を表示できます。
  2. 実際の状況に応じてコマンドを送信し、結果を読み取る必要があります。
  3. read_until() メソッドのパラメータを使用して、読み取り結果の終了識別子を指定できます。
  4. Telnet 接続が長期間非アクティブな場合、サーバーは自動的に接続を閉じることがあります。この場合、
  5. expect() メソッドを使用して、接続が切断されたかどうかを確認できます。閉まっている。
要約すると、telnetlib モジュールを使用すると、Telnet クライアントのプログラミングが容易になります。接続の確立、ログイン、操作の実行、接続の終了などの基本操作を通じて、リモート ホストを制御および管理できます。タイムアウトの設定、照合のための正規表現の使用、対話型操作などの高度な操作により、Telnet クライアントの機能をさらに拡張できます。

参考資料:

    Python 2.x 公式ドキュメント: https://docs.python.org/2/library/telnetlib.html

以上がPython 2.x で Telnet クライアント プログラミングに Telnetlib モジュールを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。