基于python netmiko模塊實(shí)現(xiàn)對華三設(shè)備的管理
1、拓?fù)鋱D及試驗(yàn)環(huán)境

華三路由器使用官方模擬器(HCL)實(shí)現(xiàn),其中使用host(本地主機(jī))與主機(jī)物理網(wǎng)卡進(jìn)行橋接。Python安裝在真實(shí)主機(jī)的一個Vmware虛擬機(jī)中,虛擬機(jī)也采用橋接模式與物理網(wǎng)卡橋接。
2、python腳本
導(dǎo)入netmiko模塊前需要安裝此模塊:pip install netmiko
#導(dǎo)入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函數(shù)連接路由器
connection1=netmiko.ConnectHandler(**R1)
connection2=netmiko.ConnectHandler(**R2)
connection3=netmiko.ConnectHandler(**R3)
#使用netmiko的send_command函數(shù)在路由器上執(zhí)行命令:
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.
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
模塊
+關(guān)注
關(guān)注
7文章
2838瀏覽量
53317 -
路由器
+關(guān)注
關(guān)注
22文章
3911瀏覽量
119647 -
虛擬機(jī)
+關(guān)注
關(guān)注
1文章
972瀏覽量
30502 -
python
+關(guān)注
關(guān)注
57文章
4877瀏覽量
90106 -
華三
+關(guān)注
關(guān)注
0文章
12瀏覽量
5552
原文標(biāo)題:基于python netmiko模塊實(shí)現(xiàn)對華三設(shè)備的管理
文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
python3中利用serial模塊實(shí)現(xiàn)單片機(jī)與python上位機(jī)的通信(串口調(diào)試助手)
環(huán)境: python3、serial模塊、easygui模塊、單片機(jī)stc89c52 4.如果沒有安裝serial、easygui模塊: 用管理
發(fā)表于 11-23 19:45
?2180次閱讀
如何使用Python通過SNMP監(jiān)控網(wǎng)絡(luò)設(shè)備?
豐富的第三方庫,實(shí)現(xiàn)繪圖入庫等,該方式比較繁瑣,我們管理的設(shè)備還有一些網(wǎng)絡(luò)設(shè)備,這些設(shè)備無法通過
Python的包管理器
Python作為主流的編程語言,在管理系統(tǒng)、大數(shù)據(jù)、人工智能等方面應(yīng)用廣泛,同時,Python的版本也較多,相應(yīng)的標(biāo)準(zhǔn)庫和第三方庫也非常多。
簡述python包模塊import和from及all
python指定導(dǎo)入目錄路徑,稱為包導(dǎo)入。
通過import和from導(dǎo)入包模塊。
通過**all**指定導(dǎo)入的模塊和導(dǎo)入的模塊屬性。
## 1.1
如何安裝Python包管理工具
Python是一種流行的編程語言,廣泛應(yīng)用于各種領(lǐng)域,如數(shù)據(jù)科學(xué)、Web開發(fā)、人工智能等。在Python的生態(tài)系統(tǒng)中,有大量的第三方庫和包可以幫助開發(fā)者更加高效地進(jìn)行開發(fā)。為了方便管理
介紹Python Netmiko的基本用法和幾個示例
Python Netmiko是一個基于Paramiko的多廠商網(wǎng)絡(luò)設(shè)備自動化管理庫,支持SSH和Telnet協(xié)議,并能夠支持多種廠商的網(wǎng)絡(luò)設(shè)備
Python中telnetlib模塊的基本使用
telnetlib 是 Python 標(biāo)準(zhǔn)庫中的一個模塊,它提供了 Telnet 協(xié)議的客戶端功能。使用 telnetlib 模塊,我們可以在 Python 中編寫腳本來自動化 Tel
yfinance:獲取數(shù)據(jù)的Python第三方模塊
yfinance 是一個使用 Yahoo! 獲取數(shù)據(jù)的 Python 第三方模塊。它支持獲取最細(xì)到1分鐘級的歷史數(shù)據(jù)及股票基本面數(shù)據(jù),是免費(fèi)獲得美股分鐘級及以上粒度數(shù)據(jù)的不二之選。 1.準(zhǔn)備 開始
Dynaconf 輕松實(shí)現(xiàn) Python 動態(tài)配置管理
Dynaconf 是一個Python的第三方模塊,旨在成為在 Python 中管理配置的最佳選擇。 它可以從各種來源讀取設(shè)置,包括環(huán)境變量、
python如何導(dǎo)入模塊
。本文將詳細(xì)介紹Python中模塊導(dǎo)入的相關(guān)知識,并舉例演示常見的導(dǎo)入方式和用法。 首先,我們需要明確一些基本的概念。Python 的模塊可以分為兩種類型:內(nèi)置
如何使用Python PySNMP模塊獲取設(shè)備指標(biāo)呢?
PySNMP 是一個跨平臺的純Python SNMP 引擎實(shí)現(xiàn)。
如何實(shí)現(xiàn)Python復(fù)制文件操作
Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python 實(shí)現(xiàn)文件復(fù)制的特殊
使用Python批量連接華為網(wǎng)絡(luò)設(shè)備
隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大和設(shè)備數(shù)量的增加,手動配置和管理每臺網(wǎng)絡(luò)設(shè)備變得越來越不現(xiàn)實(shí)。因此,自動化工具和腳本變得尤為重要。Python語言以其簡潔性和強(qiáng)大的第
基于python netmiko模塊實(shí)現(xiàn)對華三設(shè)備的管理
評論