Python netmiko模块的使用
一、简介
此模块用于简化paramiko与网络设备之间的ssh连接,可在windows与Unix平台使用
二、目前支持的设备
(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
三、实验环境
1.操作系统:win10
2.python版本: python3.6.6
3.netmiko模块版本:2.3.0
四、安装netmiko模块
#前提准备模块(安装netmiko可自动下载依赖项): Paramiko >= 2.4.1 scp >= 0.10.0 pyyaml pyserial textfsm #安装netmiko pip install netmiko
ps:没有全部安装前提模块,在使用netmiko没有报错,说明运行代码里没有调用到而已,而不是不需要
五、简单实例
5.1 执行查看命令: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) #执行命令,返回结果为字符串,赋值给output output = net_connect.send_command('show ip int brief') print(output) # #此为在windows里如果\n不能显示回车,则进行如下语句格式化 # o_list = output.split("\n") # for line in o_list: # print(line)
5.2 执行配置命令:手动关闭接口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为提交的真实内容 input = net_connect.send_config_set(config_commands) #验证shutdown是否执行成功 output = net_connect.send_command('show run inter gi1/0/29') print(output) # #此为在windows里如果\n不能显示回车,则进行如下语句格式化 # o_list = output.split("\n") # for line in o_list: # print(line)
六、常用方法
- net_connect.send_command() # 向下发送命令,返回输出(基于模式)
- net_connect.send_command_timing() # 沿通道发送命令,返回输出(基于时序)
- net_connect.send_config_set() # 将配置命令发送到远程设备
- net_connect.send_config_from_file() # 发送从文件加载的配置命令
- net_connect.save_config() # 将running#config保存到startup#config
- net_connect.enable() # 输入启用模式
- net_connect.find_prompt() # 返回当前路由器提示符
- net_connect.commit() # 在Juniper和IOS#XR上执行提交操作
- net_connect.disconnect() # 关闭连接
- net_connect.write_channel() # 通道的低级写入
- net_connect.read_channel() # 通道的低级写入
七、参考文献
1.https://pynet.twb-tech.com/blog/automation/netmiko.html
2.https://github.com/ktbyers/netmiko
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
很多朋友向小编求助pycharm安装scrapy DLL load failed:找不到指定的程序的问题,就这一问题小编在window10 + anaconda3 +pycharm2020.1.1 + scrapy安装亲测可用,下面把我的处理过程分享到脚本之家平台,供大家参考2021-06-06在python3.64中安装pyinstaller库的方法步骤
这篇文章主要介绍了在python3.64中安装pyinstaller库的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-06-06python中将一个全部为int的list 转化为str的list方法
下面小编就为大家分享一篇python中将一个全部为int的list 转化为str的list方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-04-04python中的多线程锁lock=threading.Lock()使用方式
这篇文章主要介绍了python中的多线程锁lock=threading.Lock()使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-06-06
最新评论