2014年01月08日 星期三 23:01
调用telnetlib,telnet一级可以抓取信息并有返回值了。但如何多次telnet呢??
我的问题是:如果我的设备只能通过一个跳板机(带外)来telnet,如何能抓取到数据。
我必须先telnet到跳板机上,再telnet到其他的设备上操作,但我的返回值是空的。以下是我的脚本:
!/usr/bin/env python
# -*- coding: cp936 -*-
import telnetlib
host = "45.153.42.26" # Telnet跳板ip
username = "abc123abc" # 登录用户名
password = "hyuhyhy" # 登录密码
# 连接Telnet 跳板
tn = telnetlib.Telnet(host,23,10)
# 输入登录用户名
tn.read_until("login:")
tn.write(username + "\n")
# 输入登录密码
tn.read_until("Password:")
tn.write(password + "\n")
tn.write("show version\n")
#登录到需要管理的设备
tn.write("telnet 10.115.1.2\n")
tn.write(username + "\n")
tn.write(password + "\n")
tn.write("show version\n")
tn.write("exit\n")
tn.write("exit\n") # tn.close()
print tn.read_all()
2014年01月25日 星期六 21:57
可能是网络延迟问题,需要用read_until方法试试
Zeuux © 2024
京ICP备05028076号