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 怎么办?您可能会附加一个“回声$?” 在 grep 之后,获取退出代码 - 0 表示有一个或多个匹配项,其他任何内容都表示没有任何匹配项。

于 2012-07-30T21:01:12.460 回答