基于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文章
2721瀏覽量
47566 -
路由器
+關注
關注
22文章
3737瀏覽量
114001 -
虛擬機
+關注
關注
1文章
919瀏覽量
28278 -
python
+關注
關注
56文章
4799瀏覽量
84817 -
華三
+關注
關注
0文章
12瀏覽量
5461
原文標題:基于python netmiko模塊實現對華三設備的管理
文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
python3中利用serial模塊實現單片機與python上位機的通信(串口調試助手)
環境: python3、serial模塊、easygui模塊、單片機stc89c52 4.如果沒有安裝serial、easygui模塊: 用管理
發表于 11-23 19:45
?1884次閱讀
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語言以其簡潔性和強大的第
評論