使用python内建模块telnetlib登陆设备

使用python内建模块telnetlib登陆设备

在生成环境中,不推荐使用无加密的telnet来登陆设备,这里只举个简单的例子来演示telnetlib的使用

云配置

请添加图片描述

云的配置是为了让主机能与交换机互相访问

交换机配置

interface Vlanif1
 ip address 192.168.56.2 255.255.255.0
#
aaa
 local-user python password cipher 123   //创建python用户,密码为123
 local-user python privilege level 15
#
user-interface vty 0 4
 authentication-mode aaa

这个时候我们就能与交换机互访了

拓扑

请添加图片描述

目的

使用telnet登陆python这个用户操作交换机配置loopback 0口地址为1.1.1.1/24

代码

import telnetlib
import time   # 可以引入 time 模块,执行后调用 sleep() 函数等待片刻

host = "192.168.56.2"   #定义变量存取网元IP、用户名、密码
user = "python"
password = "123"

tn = telnetlib.Telnet(host)   #连接登录网元
tn.read_until(b"Username: ",timeout=1)   #timeout=1 表示等待的时间,如果1秒内没等到就继续执行,默认是一直等。
tn.write(user.encode('ascii') + b"\n")
tn.read_until(b"Password: ",timeout=1)
tn.write(password.encode('ascii') + b"\n")

tn.write(b"screen-length 0 temporary\n")  # 取消分段显示
tn.write(b'sys\n')
tn.write(b"int loopback 0\n")
tn.write(b"ip address 1.1.1.1 24\n")
tn.write(b"return\n") # 返回用户视图,保存配置
tn.write(b"save\n")
tn.write(b"Y\n")
time.sleep(3)   # 等待
  
tn.write(b"quit\n")   #打印截屏,此时用 read_very_eager() 能成功
output = tn.read_very_eager().decode('ascii')
print(output) 
tn.close()   #退出登录

结果

请添加图片描述
请添加图片描述

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
【为什么要学习这门课?】  传统Cisco设备的配置是通过命令行实现的。然而,整个行业的运行模式不断演进,越来越多的配置是由软件来执行的,这种方法通常被称为软件定义网络(SDN)。SDN是一种新兴的架构,它让网络策略实现和网络资源管理变得更容易、更经济。它通过将网络控制与网络硬件两者解耦来实现,允许通过编程控制网络,底层网络基础设施由应用程序和网络服务管理,而不是单独配置。 【课程亮点】  网络可编程基础这门课介绍了以SDN为核心的网络理论,并检查了在思科ACI网络中发现的组件。此外,本课程还涵盖了Python编程,这是网络编程能力所需的一项关键技能。最后,本课程通过在思科的DevNet网站为大家实践演示了多个网络可编程性练习。 【讲师介绍】  Kevin Wallace(凯文·华莱士)—— Walt Disney World迪士尼世界网络专家、思科多领域认证专家SKevin Wallace(凯文·华莱士)的网络设计经验可以追溯到1989年,他曾是沃特迪士尼世界的网络设计专家,思科Skillsoft课程的讲师、思科Learning Partners(CLP)课程讲师,东肯塔基大学的网络负责人。凯文是思科认证的系统讲师(CCSI) ,拥有双CCIEs认证,同时在路由、交换机、协作、安全、设计及数据等多个领域拥有思科公司或协会授予的专家证书,凯文还为Cisco Press出版了大量视频课程及书籍。 【课程收获】  掌握SDN开发技能学会使用基本的网络可编程工具和技术 了解开发网络自动化应用程序所需的Python编程基础使用api-em实现企业网络自动化使用APIC实现数据中心网络自动化配置Telnet、SSH和NETCONF

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

datacom_chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值