Python论坛  - 讨论区

标题:学习两天,问题求解,关于telnet

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哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号