用python 脚本控制telnet登录交换机

目的:学习用python脚本登录交换机并执行相关操作

环境:windows 7  Python 3.5.3

最初原因是因为工作需要在交换机上查询IP地址的来源端口,不停的跳转查看很麻烦,于是决定写脚本,这里只写关于用Python登录和之后的可用方法。

telnet是内置模块,模块名telnetlib。

# 定义登录的用户名、密码和登录的设备地址

username = ‘abc‘

password = ‘123‘

switch_ip = ‘1.2.3.4‘

# 连接

tel_con = telnetlib.Telnet(switch_ip[, port=23, timeout=10])

# 读取识别并认证

tel_con.read_until(‘Username:‘)

tel_con.write(username + rn)

tel_con.read_until(‘Password:‘)

tel_con.write(password + rn)

下面就可以执行需要的操作,一般是识别‘>‘这个符号,当然要根据实际情况,视图模式就可能是其他的了,而且read_until可能有时候在执行命令返回的不匹配,则一直在等待,可以使用read_all()返回所以的然后用正则表达式,或用延时time.sleep加read_very_eager()的方法。

最后记得要退出,交换机里退出用quit,连接退出用

tel_con.close()

这里还有几个小技巧:

1)设置返回除错信息可以排除问题tel_con.set_debuglevel(5),这里有0-5的等级,数字越大,信息越多。

2)有些情况传递给write方法的字符串需要注意编码

3)read_until()有一个超时设置,超过时间会返回,否则脚本会一直等待

4)read_all()可能得不到EOF而报错。

5)有需要可以学习第三方模块pexpect,它可以实现ssh, telnet, ftp等交互式自动登录

这里有一些参考资料:

http://www.cnblogs.com/ma6174/archive/2012/05/25/2508378.html

http://blog.csdn.net/oatnehc/article/details/46580753

https://pypi.python.org/pypi/paramiko

https://pypi.python.org/pypi/pexpect

时间: 2024-10-18 17:16:58

用python 脚本控制telnet登录交换机的相关文章

python脚本批量修改华为交换机端口配置

用python写的,主要是telnetlib库的应用,华为交换机批量修改端口配置,把已经UP的端口做一个port sec的mac sticky绑定,DOWN的端口,就clear配置信息. 使用前,先在交换机上 dis int bri,查出交换机的端口状态信息并复制到此脚本同目录下,以 IP.txt这样的格式命名的文件(比如 192.168.0.1对应 192.168.0.1.txt),以下内容记得把IP跟账号密码改成自己的. import sys,os,telnetlib,re ip = '你的

利用python脚本和telnet调试dubbo接口

原文地址:https://hhyo.github.io/2017/10/20/python-dubbo-telnet/ 最近在测试项目中接触到dubbo框架,由于业务逻辑复杂,前台一个业务流程在后端会依赖多个服务提供数据,而各方开发进度也不完全一致.在业务测试脚本编写完成后,希望能够在项目整体提测前,先验证部分已提供的dubbo接口的可用性.另外一方面,也能够在测试过程中更快的定位到具体的服务提供者,指派任务,减少反复沟通定位问题所耗费的时间. 先说环境:OS: macOS High Sierr

华为S5700交换机开启telnet登录

近来有部分用户说S5700开启telnet不能登录问题,特整理出以下步骤和命令. 提示:华为交换机配置时,输入命令前几个字母,按TAB可以自动补全命令,比如在系统视图下输入sh后按下TAB会自动把命令补充成show. 首先通过COM口登录交换机: 1. 执行命令system-view 进入系统视图. 2. 执行命令telnet server enable ,使能telnet服务. 3. 执行命令aaa,进入AAA视图. 4. 执行命令 local-user <用户名> password cip

【交换机】远程登录交换机并进行交换机的备份与还原

拓扑图: 实验背景:      利用主机本地登录交换机并进行配置:            设置console口的口令            设置enable的密码      远程pC通过telnet远程登录交换机并将交换机的配置保存到FTP服务器上.      当交换机出现故障时,重新购买一台交换机换上,然后将老交换机的配置从FTP服务器还原到新的交换机上.查看是否新交换机具有了和旧交换机一样的配置(即有console口的口令和enable的密码),这样新的交换机就不必重新配置了. 实验过程注意

配置交换机的Telnet登录

今天我们学习了关于路由器和交换机的telnet登录.在课堂上老师讲解了有关于vlan的设置,如何设置ip. 今天我做的是配置交换机的telnet登录.主要分为三步:查看激活交换机的网址:设置好vlan;测试连接. 查看激活交换机的网址: 1.在浏览器上登录网址172.28.15.101:8080/: 2.点击激活交换机或者路由器: 3.把鼠标放在激活的交换机上查看网址. 设置好vlan: 1.在开始程序里输入cmd进入编写界面: 2.输入telnet+激活的交换机的网址进行连接: 3.登录进去以

实验一:配置路由器/交换机的Telnet登录

[实验名称] 在路由器上配置 Telnet. [实验目的] 掌握如何在路由器上配置 Telnet,以实现路由器的远程登录访问. [背景描述] 路由器用于连接多个子网时,通常放置位置都相距较远,察看和修改配置都比较麻烦, 此时如果可以远程登录到路由器上进行操作,将能够大大降低管理员的工作量. [需求分析] 需要掌握如何配置路由器的密码, 如何配置 Telnet 服务, 以及如何通过 Telnet 远程登录 路由器进行操作的方法. [实验拓扑] [实验设备] 路由器(带串口) 2 台 V.35 DC

配置路由器/交换机的Telnet登录

[实验名称] [实验目的] 学习如何在交换机上启用Telnet,实现通过Telnet远程访问交换机. [背景描述] 企业园区网覆盖范围较大时,交换机会分别放置在不同的地点,如果每次配置交换机都到交换机所在地点现场配置,管理员的工作量会很大.这时可以在交换机上进行Telnent配置,以后再需要配置交换机时,管理员可以远程以Telnet方式登录配置. [需求分析] 需要掌握如何配置交换机的密码,以及如何配置Telnet,掌握以Telnet的方式远程访问交换机需要掌握如何配置交换机的密码,以及如何配置

华为交换机VRP用户界面配置及Telnet登录实验

以下是笔者视频课程中的一节PPT课程内容,介绍的是华为VRP系统用户界面主要配置方法,同时以一真实的Telnet远程登录实验向大家验证了这些配置的正确性.本节课程的视频链接如下(可免费观看):http://edu.51cto.com/lesson/id-22512.html 一.VRP用户界面配置步骤 二.Telnet登录实验 通过Console口首次登录设备后,为用户下次通过Telnet方式远程登录交换机进行配置: ?配置IP地址:192.168.137.10/24,客户机IP地址为192.1

配置路由器,交换机的telnet登录

1.[实验目的] 学习如何在交换机上启用 Telent,实现通过 Telnet 远程访问交换机. 2.[背景描述] 企业园区网覆盖范围较大时,交换机会分别放置在不同的地点,如果每次配置交换机 都需要在交换机所在地点现场配置,管理员的工作量会很大.此时可以在交换机上进行 Telnet 配置,这样再需要配置交换机时,管理员可以远程以 Telnet 方式登录配置. 3.[需求分析] 需要掌握如何配置交换机的密码,以及如何配置 Telnet,掌握以 Telnet 的方式远程访 问交换机的方法. 4.[实