0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于python netmiko模块实现对华三设备的管理

网络技术干货圈 来源:网络技术干货圈 2023-02-03 09:52 次阅读

基于python netmiko模块实现对华三设备的管理

1、拓扑图及试验环境

4b429928-a323-11ed-bfe3-dac502259ad0.png
华三路由器使用官方模拟器(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

    文章

    2655

    浏览量

    47291
  • 路由器
    +关注

    关注

    22

    文章

    3692

    浏览量

    113408
  • 虚拟机
    +关注

    关注

    1

    文章

    904

    浏览量

    28016
  • python
    +关注

    关注

    55

    文章

    4766

    浏览量

    84370
  • 华三
    +关注

    关注

    0

    文章

    12

    浏览量

    5433

原文标题:基于python netmiko模块实现对华三设备的管理

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    python3中利用serial模块实现单片机与python上位机的通信(串口调试助手)

    环境: python3、serial模块、easygui模块、单片机stc89c52 4.如果没有安装serial、easygui模块: 用管理
    发表于 11-23 19:45 1829次阅读

    如何使用Python通过SNMP监控网络设备

    丰富的第方库,实现绘图入库等,该方式比较繁琐,我们管理设备还有一些网络设备,这些设备无法通过
    的头像 发表于 01-09 10:38 1216次阅读

    Python的包管理

    Python作为主流的编程语言,在管理系统、大数据、人工智能等方面应用广泛,同时,Python的版本也较多,相应的标准库和第方库也非常多。
    的头像 发表于 02-15 11:46 1452次阅读

    Python-模块与包

    模块Python 程序架构的一个核心概念
    的头像 发表于 02-16 14:55 737次阅读
    <b class='flag-5'>Python</b>-<b class='flag-5'>模块</b>与包

    简述python模块import和from及all

    python指定导入目录路径,称为包导入。 通过import和from导入包模块。 通过**all**指定导入的模块和导入的模块属性。 ## 1.1
    的头像 发表于 02-21 14:20 1202次阅读

    浅析python模块创建和from及import使用

    python模块通过用python程序编写的.py文件即可创建,通过from及import语句导入模块来使用。
    的头像 发表于 02-21 14:44 782次阅读

    如何安装Python管理工具

    Python是一种流行的编程语言,广泛应用于各种领域,如数据科学、Web开发、人工智能等。在Python的生态系统中,有大量的第方库和包可以帮助开发者更加高效地进行开发。为了方便管理
    的头像 发表于 04-14 12:10 1078次阅读

    介绍Python Netmiko的基本用法和几个示例

    Python Netmiko是一个基于Paramiko的多厂商网络设备自动化管理库,支持SSH和Telnet协议,并能够支持多种厂商的网络设备
    的头像 发表于 04-28 09:56 1.3w次阅读

    Python中telnetlib模块的基本使用

    telnetlib 是 Python 标准库中的一个模块,它提供了 Telnet 协议的客户端功能。使用 telnetlib 模块,我们可以在 Python 中编写脚本来自动化 Tel
    的头像 发表于 05-04 14:27 7841次阅读

    yfinance:获取数据的Python模块

    yfinance 是一个使用 Yahoo! 获取数据的 Python模块。它支持获取最细到1分钟级的历史数据及股票基本面数据,是免费获得美股分钟级及以上粒度数据的不二之选。 1.准备 开始
    的头像 发表于 10-21 14:32 2411次阅读

    Dynaconf 轻松实现 Python 动态配置管理

    Dynaconf 是一个Python的第模块,旨在成为在 Python管理配置的最佳选择。 它可以从各种来源读取设置,包括环境变量、
    的头像 发表于 10-30 15:02 830次阅读

    python如何导入模块

    。本文将详细介绍Python模块导入的相关知识,并举例演示常见的导入方式和用法。 首先,我们需要明确一些基本的概念。Python模块可以分为两种类型:内置
    的头像 发表于 11-22 14:46 872次阅读

    如何使用Python PySNMP模块获取设备指标呢?

    PySNMP 是一个跨平台的纯Python SNMP 引擎实现
    的头像 发表于 01-12 13:59 2561次阅读

    如何实现Python复制文件操作

    Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊
    的头像 发表于 07-18 14:53 334次阅读

    使用Python批量连接华为网络设备

    随着网络规模的扩大和设备数量的增加,手动配置和管理每台网络设备变得越来越不现实。因此,自动化工具和脚本变得尤为重要。Python语言以其简洁性和强大的第
    的头像 发表于 08-12 17:48 397次阅读