使用Python telnet库无登出命令

2024-10-01 09:27:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用python的telnetlib模块从远程设备获取信息。不幸的是,远程设备似乎没有“注销”类型的命令。因此,您必须使用CTRL-]手动关闭连接(当手动telnetting时)。我试着用Telnet.close()但似乎没有返回任何数据。在

建议?在

HOST = "172.16.7.37"
user = "Netcrypt"
password = "Netcrypt"

tn = telnetlib.Telnet(HOST)

tn.read_until("User: ")
tn.write(user + "\n")
if password:
   tn.read_until("Password: ")
   tn.write(password + "\n")

tn.write("session \n")

print tn.read_until("NC_HOST> ")

tn.close()

Tags: 模块host类型closeread远程password手动
2条回答

我最终不需要这些。协议是我必须读到提示,发出命令,一直读到下一个提示符。从不需要读取_all()。在

工作代码如下:

import telnetlib

HOST = "172.16.7.37"
user = "Netcrypt"
password = "Netcrypt"

tn = telnetlib.Telnet(HOST)

tn.read_until("User: ")
tn.write(user + "\n")
if password:
    tn.read_until("Password: ")
    tn.write(password + "\n")

    tn.read_until('NC_HOST>')

    tn.write("session\n")

    data = tn.read_until('NC_HOST>')

print data

您是否尝试将CTRL+]的ASCII字符写入telnet连接?在

tn.write('\x1d')

相关问题 更多 >