0

次のコードを使用してサーバーにログインし、特定のディレクトリ(文字列を検索するログファイルが存在する場所)に移動します。私はこれをParamikoモジュール(ssh)でかなり簡単に達成しました。しかし、telnetlibモジュールには、これを実現するために私が見ている多くの関数がありません。ファイルを開いて特定の文字列を検索する方法を知っている人はいますか(問題のサーバーはTelnetログインのみを許可します-sshは許可しません)...ありがとう:

import sys
import telnetlib





HOST = "10.28.46.14"
user = raw_input("Enter your username: ")
password = ""

tn = telnetlib.Telnet(HOST)

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

if password == "":
    tn.read_until("Password: ")
    tn.write(password + "\n")
    #print "Login successful!"
else:
    print "Your password is incorrect."


tn.write("cd /var/opt/mylog/log\n")
tn.write("ls\n")
tn.read_until("\n")
#tn.write("exit\n")

my_ls = tn.read_until("my.log")


print my_ls
4

1 に答える 1

1

マシンの所有者に ssh と telnet について確認しましたか? telnet はリプレイ攻撃を受けやすいため、すぐに使用できる telnet が同梱されているオペレーティング システムはほとんどありません。

tn に grep を実行するように指示するとどうなりますか? 「echo $?」を追加できます。grep の後、終了コードを取得します。0 は 1 つ以上の一致があったことを意味し、それ以外は何もなかったことを意味します。

于 2012-07-30T21:01:12.460 に答える