python实现对网络设备(ensp交换机)的巡检

您所在的位置:网站首页 网络设备巡检脚本的意义 python实现对网络设备(ensp交换机)的巡检

python实现对网络设备(ensp交换机)的巡检

2024-07-10 09:02| 来源: 网络整理| 查看: 265

一,实现这个功能的前提:

拥有python环境

下载paramiko模块

二,将虚拟云接入到要实现巡检的网络内,将虚拟云连接自己主机的虚拟网卡。

 

 

根据上面的三张图:

192.168.200.1 这个地址需要跟巡检的设备连通

那么在网络内设置vlan 10,并在每个设备内都设置一个vlan10的地址

解决了连通问题后,

我们还要配置设备的远程登录(每个设备都要):

dsa local-key-pair create//先根据加密算法生成秘钥对,用于传输数据时加密保护,保存在交换机中但不保存在配置文件中

2048//#设置密钥位数

客户端登陆SSH server服务端后自动获得分配钥匙 user-interface vty 0 4//进入虚拟终端 authentication-mode aaa//配置口令模式 protocol inbound ssh quit aaa local-user huawei password cipher hw@123 local-user huawei privilege level 15 local-user huawei service-type ssh//当通过password、password-dsa、passowrd-rsa认证时,需要在AAA视图下创建同名本地用户,并设置其服务类型和级别 quit ssh user huawei authentication-type password //创建SSH用户并指定其登陆验证方式 ssh user huawei service-type stelnet//设置SSH用户服务类型 stelnet server enable//打开设备SSH(stelnet)服务端功能

之后最好用xshell或其他尝试下远程登录是否成功。

三,写python脚本

import paramiko import time log_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) user = input("username:") password = input("password:") f = open("ip.txt", "r") for line in f.readlines(): ip = line.strip() ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=ip,username=user,password=password)//ssh远程登录 print(log_time + " 成功连接交换机,开始巡检 " + ip) command = ssh.invoke_shell()//用于创建一个子shell进程 command.send("system\n") command.send("display ip routing-table\n") command.send("display device\n") command.send("display environment\n") command.send("display alarm urgen\n") command.send("display memory-usage\n") command.send("display version\n") command.send("display fan \n") f = open("check.txt", "a")//这a代表写入,不能用w,w是直接叠加会将之前写入的数据清理。 time.sleep(2) output = command.recv(65535)//返回结果字符为65535 result = output.decode("ascii") f.write(result) print(result) f.close() ssh.close()

 这里的ip.txt

中每一行写入要巡检设备的ip地址

check.txt是一个空白文件,给程序写入结果数据。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3