Python netmiko模塊的使用
一、簡介
此模塊用于簡化paramiko與網(wǎng)絡(luò)設(shè)備之間的ssh連接,可在windows與Unix平臺(tái)使用
二、目前支持的設(shè)備
(2019.03.07)
Regularly tested Arista vEOS Cisco ASA Cisco IOS Cisco IOS-XE Cisco IOS-XR Cisco NX-OS Cisco SG300 HP Comware7 HP ProCurve Juniper Junos Linux Limited testing Alcatel AOS6/AOS8 Apresia Systems AEOS Calix B6 Cisco AireOS (Wireless LAN Controllers) Dell OS9 (Force10) Dell OS10 Dell PowerConnect Extreme ERS (Avaya) Extreme VSP (Avaya) Extreme VDX (Brocade) Extreme MLX/NetIron (Brocade/Foundry) Huawei IP Infusion OcNOS Mellanox NetApp cDOT OneAccess Palo Alto PAN-OS Pluribus Ruckus ICX/FastIron Ubiquiti EdgeSwitch Vyatta VyOS Experimental A10 Accedian Aruba Ciena SAOS Citrix Netscaler Cisco Telepresence Check Point GAiA Coriant Dell OS6 Dell EMC Isilon Eltex Enterasys Extreme EXOS Extreme Wing Extreme SLX (Brocade) F5 TMSH F5 Linux Fortinet MRV Communications OptiSwitch Nokia/Alcatel SR-OS QuantaMesh Rad ETX
三、實(shí)驗(yàn)環(huán)境
1.操作系統(tǒng):win10
2.python版本: python3.6.6
3.netmiko模塊版本:2.3.0
四、安裝netmiko模塊
#前提準(zhǔn)備模塊(安裝netmiko可自動(dòng)下載依賴項(xiàng)): Paramiko >= 2.4.1 scp >= 0.10.0 pyyaml pyserial textfsm #安裝netmiko pip install netmiko
ps:沒有全部安裝前提模塊,在使用netmiko沒有報(bào)錯(cuò),說明運(yùn)行代碼里沒有調(diào)用到而已,而不是不需要
五、簡單實(shí)例
5.1 執(zhí)行查看命令:show ip int brief
from netmiko import ConnectHandler cisco = { 'device_type':'cisco_ios', 'host':'ip地址', 'username':'用戶名', 'password':'密碼' } net_connect = ConnectHandler(**cisco) ##或者 # net_connect = ConnectHandler(device_type='cisco_ios',host='IP地址',username='用戶名',password='密碼') #找到目前所在視圖 current_view = net_connect.find_prompt() print(current_view) #執(zhí)行命令,返回結(jié)果為字符串,賦值給output output = net_connect.send_command('show ip int brief') print(output) # #此為在windows里如果\n不能顯示回車,則進(jìn)行如下語句格式化 # o_list = output.split("\n") # for line in o_list: # print(line)
5.2 執(zhí)行配置命令:手動(dòng)關(guān)閉接口G1/0/29
from netmiko import ConnectHandler cisco = { 'device_type':'cisco_ios', 'host':'ip地址', 'username':'用戶名', 'password':'密碼' } net_connect = ConnectHandler(**cisco) ##或者 # net_connect = ConnectHandler(device_type='cisco_ios',host='IP地址',username='用戶名',password='密碼') #要配置的命令 config_commands = ['interface GigabitEthernet1/0/29','shutdown'] #提交要配置的命令,input為提交的真實(shí)內(nèi)容 input = net_connect.send_config_set(config_commands) #驗(yàn)證shutdown是否執(zhí)行成功 output = net_connect.send_command('show run inter gi1/0/29') print(output) # #此為在windows里如果\n不能顯示回車,則進(jìn)行如下語句格式化 # o_list = output.split("\n") # for line in o_list: # print(line)
六、常用方法
- net_connect.send_command() # 向下發(fā)送命令,返回輸出(基于模式)
- net_connect.send_command_timing() # 沿通道發(fā)送命令,返回輸出(基于時(shí)序)
- net_connect.send_config_set() # 將配置命令發(fā)送到遠(yuǎn)程設(shè)備
- net_connect.send_config_from_file() # 發(fā)送從文件加載的配置命令
- net_connect.save_config() # 將running#config保存到startup#config
- net_connect.enable() # 輸入啟用模式
- net_connect.find_prompt() # 返回當(dāng)前路由器提示符
- net_connect.commit() # 在Juniper和IOS#XR上執(zhí)行提交操作
- net_connect.disconnect() # 關(guān)閉連接
- net_connect.write_channel() # 通道的低級(jí)寫入
- net_connect.read_channel() # 通道的低級(jí)寫入
七、參考文獻(xiàn)
1.https://pynet.twb-tech.com/blog/automation/netmiko.html
2.https://github.com/ktbyers/netmiko
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決pycharm安裝scrapy DLL load failed:找不到指定的程序的問題
很多朋友向小編求助pycharm安裝scrapy DLL load failed:找不到指定的程序的問題,就這一問題小編在window10 + anaconda3 +pycharm2020.1.1 + scrapy安裝親測(cè)可用,下面把我的處理過程分享到腳本之家平臺(tái),供大家參考2021-06-06在python3.64中安裝pyinstaller庫的方法步驟
這篇文章主要介紹了在python3.64中安裝pyinstaller庫的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06python中將一個(gè)全部為int的list 轉(zhuǎn)化為str的list方法
下面小編就為大家分享一篇python中將一個(gè)全部為int的list 轉(zhuǎn)化為str的list方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04pycharm命令終端運(yùn)行python文件以及傳遞參數(shù)方式
這篇文章主要介紹了pycharm命令終端運(yùn)行python文件以及傳遞參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Python內(nèi)置函數(shù)memoryview()的實(shí)現(xiàn)示例
本文主要介紹了Python內(nèi)置函數(shù)memoryview()的實(shí)現(xiàn)示例,它允許你在不復(fù)制其內(nèi)容的情況下操作同一個(gè)數(shù)組的不同切片,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05python中的多線程鎖lock=threading.Lock()使用方式
這篇文章主要介紹了python中的多線程鎖lock=threading.Lock()使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06