Python 通过telnet 备份网络设备的配置
admin
2023-07-24 18:42:59
0

本实验使用了telnetlib 库
一、拓扑
Python 通过telnet 备份网络设备的配置
 
二、环境
    Python 2、Cisco-Router、Kali-Linux
 
三、配置
       !!脚本和IP地址文件都在同一个目录下
       3.1、IP 地址
Python 通过telnet 备份网络设备的配置

       
       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 备份网络设备的配置

相关内容

热门资讯

伊朗革命卫队称打击美军驻点 伊朗伊斯兰革命卫队当地时间27日凌晨发表声明称,继以色列在黎巴嫩南部违反停火协议后,数小时前,美国也...
委内瑞拉地震中国公民遇难人数升... 新华社加拉加斯6月26日电(记者田睿)据中国驻委内瑞拉大使馆消息,截至当地时间26日17时,据不完全...
伊朗革命卫队:挫败美军袭击,将... 当地时间27日凌晨,伊朗伊斯兰革命卫队表示,革命卫队的海军与空军成功挫败了美军对锡里克岛发动的袭击,...
美军打击伊朗,报复商船遇袭事件 美国中央司令部6月27日于社交媒体平台“X”发文,称美军于6月26日对伊朗发动打击,以此强力回应前一...
美称设立军事协调小组协助落实美... △美国国务卿鲁比奥(资料图)当地时间6月26日,美国国务卿鲁比奥发布声明表示,当日,美国、黎巴嫩和以...
布基纳法索宣布与法国断交 △布基纳法索(资料图)当地时间6月26日,布基纳法索政府宣布,自当天起断绝与法国的外交关系。布政府表...
美以黎签署三方框架协议,细节披... 当地时间26日晚,一名以色列官员披露称,经过美国、以色列和黎巴嫩三方的会谈,三方代表当晚在美国签署了...
联合国官员:委内瑞拉强震后逾5... 财联社6月27日电,联合国分管人道主义事务的副秘书长兼紧急救援协调员汤姆·弗莱彻表示,在委内瑞拉发生...
伊朗否认伊美就霍尔木兹海峡问题... 当地时间26日,伊朗伊斯兰革命卫队发言人侯赛因·穆赫比表示,针对“伊朗与美国已就霍尔木兹海峡问题设立...
特朗普:伊朗违反了停火协议 财联社6月26日电,美国总统特朗普表示,美军击落了伊朗三架无人机。特朗普称伊朗在霍尔木兹海峡发动的无...