pythonnet 引用_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() # 通道的低级写入

七、参考文献

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值