天天看点

telnetlib实验-批量备份交换机配置文件

作者:让我再卷一分钟

一、实验拓扑

telnetlib实验-批量备份交换机配置文件

图1:实验拓扑

二、实验目的

通过telnetlib库实现telnet远程登录5台交换机,通过dis cur方式获取回显内容,并回显内容写入至.txt文件,以实现配置文件备份

三、实验代码

# 导入相关模块 
import telnetlib
import time

# 定义backup_config函数, 传入参数ip,user,password
def backup_config(ip,user,password):
    tn = telnetlib.Telnet(ip)
    tn.read_until(b"login: ")
    tn.write(user.encode('ascii') + b"\n")
    tn.read_until(b"Password: ")
    tn.write(password.encode('ascii') + b"\n")
    print(ip +'登录成功')
    tn.write(b'screen-length disable\n') #取消分屏显示
    tn.write(b'dis cur\n')
    time.sleep(1)
    output=tn.read_very_eager().decode('utf-8')
    print(output)
    with open(f'./telnetlib_lab/{ip}.txt','w') as backup: #创建.txt文件,并将回显output内容写入
        backup.write(output)
        print(ip + '配置备份成功')   
    tn.close() #关闭telnet连接

if __name__ == '__main__':
    ip_list = ['192.168.1.1','192.168.1.2','192.168.1.3','192.168.1.4','192.168.1.5']
    user = 'python'
    password = 'h3c@123'
    
    # for循环遍历ip_list列表元素,依次调用backup_config函数实现tenlent交换机
    for ip in ip_list:
        backup_config(ip, user, password)
               

四、代码执行结果

telnetlib实验-批量备份交换机配置文件
telnetlib实验-批量备份交换机配置文件

五、telnetlib库相关方法

telnetlib资料参考:https://docs.python.org/3.8/library/telnetlib.html#telnet-example

telnetlib实验-批量备份交换机配置文件
telnetlib实验-批量备份交换机配置文件
telnetlib实验-批量备份交换机配置文件

继续阅读