实验七-后续——Python批量抓交换机配置(IP地址不连续)

该文章介绍了一种通过Python脚本来批量获取交换机配置的方法,特别是针对IP地址不连续的真实网络环境。脚本利用paramiko库进行SSH连接,从名为ip_list.txt的文本文件中读取交换机IP,依次登录并抓取配置信息,然后将结果保存到本地的config_backup文件夹中。用户需提供用户名和密码,脚本会自动处理每个设备的连接和配置抓取过程。
摘要由CSDN通过智能技术生成

思路:由于真实网络环境中,交换机的管理IP不可能都是连续的,如果中间有一台登陆不上,脚本就会停止,所以我们通过这种方法更适用真实环境,只需要把要抓配置的交换机IP写到txt文件中

1、创建文本文档,名称ip_list.txt 

里面写要抓取配置得交换机IP地址,名称随便取

 2、脚本

import paramiko
import time
import getpass
username = input("Username: ")
password = getpass.getpass("Password ")
d = open("ip_list.txt")
for line in d.readlines():
    ip = line.strip()
    ssh_client = paramiko.SSHClient()
    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh_client.connect(hostname=ip, username=username, password=password, look_for_keys=False)
    command = ssh_client.invoke_shell()
    print('=-=-=-=-=-=-=-=-=-=-=-=-=-=')
    print('已经成功登陆交换机 LSW-' + ip)
    # 进⼊系统视图
    command.send('sys\n')
    command.send('user-interface vty 0 4\n')
    #回显所有结果
    command.send('screen-length 0\n')
    command.send('dis cur\n')
    command.send('dis ip int bri\n')
    time.sleep(8)
    #抓取回显,放⼊output变量
    output = command.recv(65535).decode('ASCII').replace('\r','')
    print(output)
    #保存结果到python脚本同⽬录下的config_backup⽂件夹中,文件的命名为ip_20230505.txt
    f1 = open(f".\\config_backup\\{ip}_20230505.txt","w")
    f1.write(output)
    f1.close()
    ssh_client.close()

3、

确保ip_list.txt和脚本文件都在这个目录下

4、执行脚本

5、输入用户名密码

然后等待就行了

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I love this bad girl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值