Python 通过telnet 备份网络设备的配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 通过telnet 备份网络设备的配置相关的知识,希望对你有一定的参考价值。

本实验使用了telnetlib 库
一、拓扑
技术分享图片
 
二、环境
    Python 2、Cisco-Router、Kali-Linux
 
三、配置
       !!脚本和IP地址文件都在同一个目录下
       3.1、IP 地址
技术分享图片

       
       3.2、Python 备份脚本

#backup.py
import time
from telnetlib import Telnet

def tel(addr,user,pwd,secret):
        tn = Telnet(addr)
        tn.write(user+‘
‘)
        tn.write(pwd+‘
‘)
        tn.write(‘enable
‘)
        tn.write(secret+‘
‘)
        tn.write(‘terminal length 0
‘)#将show run的内容一次性全部显示完
        time.sleep(1)
        tn.write(‘show run
‘)
        time.sleep(1)
        rsp = tn.expect([],timeout=1)[2]
        return rsp

if __name__ == "__main__":
        fp = open(‘./ip.txt‘,‘r‘)
        for ip in fp:
          print("backing up "+ip.strip())
          conf = tel(ip.strip(),‘cisco‘,‘cisco‘,‘cisco‘) #第一个cisco 是账户,第二个Cisco是密码,第三个Cisco是enable密码
          print(ip.strip()+‘ was finished!‘)
          print(conf)#这里是用于查看函数返回的内容,可以删除
          fw = open(ip.strip(),‘w‘)#每台主机的配置以IP地址为文件名,建议先使用OS模块创建一个目录,然后将所有配置放到目录下
          fw.write(conf)
          fw.close()
        print(‘done!‘)
        fp.close()

 
   效果如下:
   技术分享图片

以上是关于Python 通过telnet 备份网络设备的配置的主要内容,如果未能解决你的问题,请参考以下文章

Python+Selenium备份设备配置

使用python脚本Telnet 华为交换机备份配置

shell脚本telnet登陆交换机备份配置

利用expect来实现非交互式备份现网网络设备配置

cisco防火墙的备份与恢复问题

华为交换机配置telnet登录设备