我目前正在用Python编写一个小脚本,该脚本从数据库中读取一些可能的连接(节点名称,telnet IP地址和telnet端口的三倍),并呈现给用户以选择连接到哪个节点。
选择此选项后,我想打开一个交互式Telnet会话,用户可以使用该会话,就好像他已经使用telnet命令手动连接一样。不知何故我可能需要一个转义序列。它只需要在Linux OS上运行即可。
我可以打电话给telnet:
# Open shell
call(["telnet", selected_node['ip'], selected_node['port']])
那行得通。但是,我想知道是否有更好的解决方案。
答案 0 :(得分:1)
它是python,所有内容都包括在内。标准库中有一个telnet
module。
import getpass
import telnetlib
HOST = "localhost"
user = input("Enter your remote account: ")
password = getpass.getpass()
tn = telnetlib.Telnet(HOST)
tn.read_until(b"login: ")
tn.write(user.encode('ascii') + b"\n")
if password:
tn.read_until(b"Password: ")
tn.write(password.encode('ascii') + b"\n")
tn.write(b"ls\n")
tn.write(b"exit\n")
print(tn.read_all().decode('ascii'))