1. 程式人生 > >Python 通過telnet 備份網絡設備的配置

Python 通過telnet 備份網絡設備的配置

XP dff python 2 use ESS () pre imp txt

本實驗使用了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+‘\n‘)
        tn.write(pwd+‘\n‘)
        tn.write(‘enable\n‘)
        tn.write(secret+‘\n‘)
        tn.write(‘terminal length 0\n‘)#將show run的內容一次性全部顯示完
        time.sleep(1)
        tn.write(‘show run\n‘)
        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 備份網絡設備的配置