基于python netmiko模块实现对华三设备的管理
1、拓扑图及试验环境
华三路由器使用官方模拟器(HCL)实现,其中使用host(本地主机)与主机物理网卡进行桥接。Python安装在真实主机的一个Vmware虚拟机中,虚拟机也采用桥接模式与物理网卡桥接。
2、python脚本
导入netmiko模块前需要安装此模块:pip install netmiko
#导入netmiko模块 importnetmiko #以字典形式定义登录信息 R1={'device_type':'hp_comware','ip':'10.0.0.10','username':'test','password':'abc'} R2={'device_type':'hp_comware','ip':'10.0.0.11','username':'test','password':'abc'} R3={'device_type':'hp_comware','ip':'10.0.0.12','username':'test','password':'abc'} #使用netmiko的ConnectHandler函数连接路由器 connection1=netmiko.ConnectHandler(**R1) connection2=netmiko.ConnectHandler(**R2) connection3=netmiko.ConnectHandler(**R3) #使用netmiko的send_command函数在路由器上执行命令: output1=connection1.send_command('displayipinterfacebrief',strip_command=False,strip_prompt=False) output2=connection2.send_command('displayipinterfacebrief',strip_command=False,strip_prompt=False) output3=connection3.send_command('displayipinterfacebrief',strip_command=False,strip_prompt=False) print(connection1.send_command('displayipinterfacebrief',strip_command=False,strip_prompt=False)) print(connection1.send_command('displayversion',strip_command=False,strip_prompt=False)) print(connection1.send_command('displayinterfacebrief',strip_command=False,strip_prompt=False)) print(connection1.send_command('displayarp',strip_command=False,strip_prompt=False)) print(connection1.send_command('displaymac-address',strip_command=False,strip_prompt=False)) print(connection1.send_command('displaylogbuffer',strip_command=False,strip_prompt=False))
输出效果如下:
displayipinterfacebrief *down:administrativelydown (s):spoofing(l):loopback InterfacePhysicalProtocolIPAddressDescription GE0/0upup10.0.0.10-- GE0/1downdown---- GE0/2downdown---- GE5/0downdown---- GE5/1downdown---- GE6/0downdown---- GE6/1downdown---- Ser1/0downdown---- Ser2/0downdown---- Ser3/0downdown---- Ser4/0downdown----displayversion H3CComwareSoftware,Version7.1.075,Alpha7571 Copyright(c)2004-2017NewH3CTechnologiesCo.,Ltd.Allrightsreserved. H3CMSR36-20uptimeis0weeks,0days,0hours,35minutes Lastrebootreason:Userreboot Bootimage:flash:/msr36-cmw710-boot-a7514.bin Bootimageversion:7.1.075,Alpha7571 CompiledSep20201716:00:00 Bootimage:flash:/msr36-cmw710-system-a7514.bin Bootimageversion:7.1.075,Alpha7571 CompiledSep20201716:00:00 CPUID:0x2 512MbytesDDR3SDRAMMemory 1024MbytesFlashMemory PCBVersion:2.0 CPLDVersion:1.0 BasicBootWareVersion:1.42 ExtendedBootWareVersion:1.42 displayinterfacebrief Briefinformationoninterfacesinroutemode: Link:ADM-administrativelydown;Stby-standby Protocol:(s)-spoofing InterfaceLinkProtocolPrimaryIPDescription GE0/0UPUP10.0.0.10 GE0/1DOWNDOWN-- GE0/2DOWNDOWN-- GE5/0DOWNDOWN-- GE5/1DOWNDOWN-- GE6/0DOWNDOWN-- GE6/1DOWNDOWN-- InLoop0UPUP(s)-- NULL0UPUP(s)-- REG0UP---- Ser1/0DOWNDOWN-- Ser2/0DOWNDOWN-- Ser3/0DOWNDOWN-- Ser4/0DOWNDOWN-- displayarp Type:S-StaticD-DynamicO-OpenflowR-RuleM-MultiportI-Invalid IPaddressMACaddressSVLAN/VSIInterface/LinkIDAgingType 10.0.0.11861e-ad2e-0205--GE0/05D 10.0.0.12861e-b619-0305--GE0/06D 10.0.0.141000c-294d-bc76--GE0/019D 10.0.0.1636400-6a8a-8016--GE0/020D 10.0.0.25450d2-f57d-19f6--GE0/020D displaymac-address MACAddressVLANIDStatePort/NicknameAging displaylogbuffer Logbuffer:Enabled Maxbuffersize:1024 Actualbuffersize:512 Droppedmessages:0 Overwrittenmessages:0 Currentmessages:78 %Nov2320:15:25:3322020R1SYSLOG/6/SYSLOG_RESTART:Systemrestarted-- H3CComwareSoftware. %Nov2320:15:33:4492020R1IFNET/3/PHY_UPDOWN:PhysicalstateontheinterfaceGigabitEthernet0/0changedtoup. %Nov2320:15:33:4502020R1IFNET/5/LINK_UPDOWN:LineprotocolstateontheinterfaceGigabitEthernet0/0changedtoup. %Nov2320:15:43:5012020R1SHELL/5/SHELL_LOGIN:Consoleloggedinfromcon0. %Nov2320:15:44:6602020R1SHELL/6/SHELL_CMD:-Line=con0-IPAddr=**-User=**;Commandissy %Nov2320:15:51:6692020R1SHELL/6/SHELL_CMD:-Line=con0-IPAddr=**-User=**;CommandisinterfaceGigabitEthernet0/0 %Nov2320:15:58:2452020R1SHELL/6/SHELL_CMD:-Line=con0-IPAddr=**-User=**;Commandisipaddress10.0.0.1024 %Nov2320:16:01:4772020R1SHELL/6/SHELL_CMD:-Line=con0-IPAddr=**-User=**;Commandisping10.0.0.254 %Nov2320:16:02:2952020R1PING/6/PING_STATISTICS:Pingstatisticsfor10.0.0.254:5packet(s)transmitted,5packet(s)received,0.0%packetloss,round-tripmin/avg/max/std-dev=0.000/1.000/2.000/0.632ms.
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
模块
+关注
关注
7文章
2705浏览量
47464 -
路由器
+关注
关注
22文章
3732浏览量
113758 -
虚拟机
+关注
关注
1文章
916浏览量
28181 -
python
+关注
关注
56文章
4796浏览量
84667 -
华三
+关注
关注
0文章
12浏览量
5445
原文标题:基于python netmiko模块实现对华三设备的管理
文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
python3中利用serial模块实现单片机与python上位机的通信(串口调试助手)
环境: python3、serial模块、easygui模块、单片机stc89c52 4.如果没有安装serial、easygui模块: 用管理
发表于 11-23 19:45
•1869次阅读
Python的包管理器
Python作为主流的编程语言,在管理系统、大数据、人工智能等方面应用广泛,同时,Python的版本也较多,相应的标准库和第三方库也非常多。
简述python包模块import和from及all
python指定导入目录路径,称为包导入。
通过import和from导入包模块。
通过**all**指定导入的模块和导入的模块属性。
## 1.1
如何安装Python包管理工具
Python是一种流行的编程语言,广泛应用于各种领域,如数据科学、Web开发、人工智能等。在Python的生态系统中,有大量的第三方库和包可以帮助开发者更加高效地进行开发。为了方便管理
介绍Python Netmiko的基本用法和几个示例
Python Netmiko是一个基于Paramiko的多厂商网络设备自动化管理库,支持SSH和Telnet协议,并能够支持多种厂商的网络设备
Python中telnetlib模块的基本使用
telnetlib 是 Python 标准库中的一个模块,它提供了 Telnet 协议的客户端功能。使用 telnetlib 模块,我们可以在 Python 中编写脚本来自动化 Tel
yfinance:获取数据的Python第三方模块
yfinance 是一个使用 Yahoo! 获取数据的 Python 第三方模块。它支持获取最细到1分钟级的历史数据及股票基本面数据,是免费获得美股分钟级及以上粒度数据的不二之选。 1.准备 开始
Dynaconf 轻松实现 Python 动态配置管理
Dynaconf 是一个Python的第三方模块,旨在成为在 Python 中管理配置的最佳选择。 它可以从各种来源读取设置,包括环境变量、
python如何导入模块
。本文将详细介绍Python中模块导入的相关知识,并举例演示常见的导入方式和用法。 首先,我们需要明确一些基本的概念。Python 的模块可以分为两种类型:内置
如何实现Python复制文件操作
Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊
使用Python批量连接华为网络设备
随着网络规模的扩大和设备数量的增加,手动配置和管理每台网络设备变得越来越不现实。因此,自动化工具和脚本变得尤为重要。Python语言以其简洁性和强大的第
评论