一、简介

此模块用于简化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 LinuxLimited 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 VyOSExperimental 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.1scp >= 0.10.0pyyamlpyserialtextfsm#安装netmikopip install netmiko

ps:没有全部安装前提模块,在使用netmiko没有报错,说明运行代码里没有调用到而已,而不是不需要

五、简单实例

5.1 执行查看命令:show ip int brief

from netmiko import ConnectHandlercisco = { '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)#执行命令,返回结果为字符串,赋值给outputoutput = 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 ConnectHandlercisco = { '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#confignet_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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

以上就上有关Pythonnetmiko模块的使用的全部内容,学步园全面介绍编程技术、操作系统、数据库、web前端技术等内容。

netmiko 记录日志_Pythonnetmiko模块的使用 | 学步园相关推荐

  1. python b64encode_Python base64模块详解 | 学步园

    Python base64模块是用来作base64编码解码的. 最简单的加解密实例: import base64 str1 = 'djhui' str2 = base64.b64encode(str1 ...

  2. 10蓝牙模块 hm 电脑蓝牙 连接_树莓派与HM-10蓝牙模块搭建iBeacon | 学步园

    最近iBeacon很火,我也买了个树莓派搭建一个iBeacon玩玩. 首先,需要的设备有: 1. 树莓派及电源 2. 一个蓝牙模块(网上都是用蓝牙适配器,而我用的是HM-10的蓝牙模块). 3. 连接 ...

  3. layui上传图片列表展示_layui怎么做图片在列表中显示 | 学步园

    layui table中显示图片的方法: 图片需要用到模板.templet: 注意div不可省略,48px指的是div的高度,如果要决定img图片的高度,需要单独设计style ',style:'he ...

  4. java调用存储过程sqlserver_Java调用SqlServer存储过程怎么实现 | 学步园

    在使用Java开发时,经常会遇到调用SqlServer存储过程的问题.下面学步园小编来讲解下Java调用SqlServer存储过程怎么实现? Java调用SqlServer存储过程怎么实现 1.数据库 ...

  5. mysql 异常关机后 无法查数据_MySQL数据库非法关机造成数据表损坏怎么排查 | 学步园...

    该篇文章我们介绍由于非法硬件关机,造成了MySQL数据库的数据表损坏,数据库不能正常运行的一个实例.下面学步园小编来讲解下MySQL数据库非法关机造成数据表损坏怎么排查? MySQL数据库非法关机造成 ...

  6. mysql超长sql查询_超长SQL怎么查询?MySQL列长度限制有哪些 | 学步园

    MySQL字符串的限制长度看似重要性不要,其实和整个MySQL数据库的安全性是息息相关的,很值得我们去深入研究分析.SQL注入攻击一直都在被广泛的讨论,然而人们却忽略了今天我将要介绍的这两个安全隐患, ...

  7. python正则去掉重复单词_python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解 | 学步园...

    在pdf转为文本的时候,经常会多出空格,影响数据观感,因此需要去掉文本中多余的空格,而文本中的英文之间的正常空格需要保留,输入输出如下: input:我今天 赚了 10 个亿,老百姓very happ ...

  8. mysql 枚举字段,MySQL字段中的枚举是什么意思 | 学步园

    MySQL字段相信大家都有一些了解,为您介绍的是MySQL字段中的枚举,希望对您学习MySQL字段方面能够有所帮助.下面学步园小编来讲解下MySQL字段中的枚举是什么意思? MySQL字段中的枚举是什 ...

  9. oracle 的exp是什么,oracle中exp和imp是什么,oracle中exp和imp有何区别 | 学步园

    oracle中exp和imp是什么,oracle中exp和imp有何区别.exp和imp的输入都是名字和值对:exp parameter_name=value 或exp parameter_name= ...

最新文章

  1. keras 的 example 文件 neural_doodle.py 解析
  2. printf(%d, -10u); 这个输出什么呀, 0或1?
  3. 【iOS-Cocos2d游戏开发之五】【1】多触点与触屏事件详解(单一监听、事件分发)...
  4. Java B2B2C多用户商城 springcloud架构-服务容错保护(Hystrix服务降级)
  5. 刷题总结——生日礼物(bzoj1293单调队列)
  6. STL 之 list 容器详解
  7. python生成规定随机数_python生成随机数的方法
  8. 【Homework】什么是多态,多态具体体现有哪些?
  9. weblogic修改控制台ip_「Weblogic学习」Weblogic知识要点之JNDI/JTA编程开发
  10. CSS实现半透明div层的方法
  11. 这5个bug我不信你没有写过
  12. mongodb最详细的安装与配置
  13. servlet和JSP页面乱码问题
  14. android静态动画,LayoutAnimation给ListView中的item设置动态出场效果(实例)
  15. KDE桌面没有wifi的解决方案
  16. 解决8080端口被占用问题
  17. FREETEXT FREETEXTTABLE CONTAINS CONTAINSTABLE
  18. 搞懂Nfc刷卡看这篇就够了
  19. 风控建模九:一些特征工程方法及自动化工具小结
  20. Hulu 2020年校招-算法题《Hulu杀》Python

热门文章

  1. nginx限流方案的实现(三种方式)
  2. MongoDB 学习-MongoDB 的基本操作(二)
  3. Oracle(二)单行函数
  4. thymeleaf中的内联[ [ ] ]
  5. 基于JAVA+SpringMVC+Mybatis+Vue+MYSQL的大学体育健康管理系统
  6. 【高级】分表和分区的区别、分库分表介绍与区别
  7. NKOJ2317 英语四六级考试
  8. (大数据工程师学习路径)第四步 SQL基础课程----SQL介绍及mysql的安装
  9. Android简单的TXT文件存储
  10. 搜狐超越新浪给创业者的两个启示:不断+耐心布局