netmiko 自动判断设备类型python_Python netmiko 管理 network devices 简例

netmiko是python中可用于network device 备份的库,目前支持的设备如下:

As of June 2015, Netmiko has support for the following platforms:

Cisco IOS

Cisco IOS-XE

Cisco ASA

Cisco NX-OS

Cisco IOS-XR

Cisco WLC (limited testing)

Arista EOS

HP ProCurve

HP Comware (limited testing)

Juniper Junos

Brocade VDX (limited testing)

F5 LTM (experimental)

Huawei (limited testing)

下面是一段使用netmiko库登陆ciscorouter 3360 的python代码

from netmiko import ConnectHandler

#要连接设备的信息,顺序不重要

cisco = {

'device_type':'cisco_ios',

'ip':'192.168.60.222',

'username':'admin',

'password': 'password',

'secret':'google', #enable password

}

#进行ssh连接

connect=ConnectHandler(**cisco) #对于两个*号,我的理解是:ConnectHandler()函数需要在cisco字典里面找"两"个东西,key和对应的value,所以用两个*星号

#如果enable有密码需要在配置连接的时候配置,例如 'secret':'google' ,输入connect.send_command('enable') 是无效的

connect.enable() #相当于进入特权模式

output_1 = connect.send_command('show run')

print("show run 的输出如下:\n"+output_1)

print("----------------------")

#输入connect.send_command('config ter')是进不了配置模式的,需要配置直接输入connect.send_config_set('cli')

out_put_2 = connect.send_config_set('ip route 0.0.0.0 0.0.0.0 192.168.60.129') #相当于输入特权模式 + 输入配置命令

print("配置默认路由后的输出:\n\n"+out_put_2+"\n\n") #输出配置过程

#查看上述的配置是否生效

show_route = connect.send_command('show ip route') #send_command('cli')命令执行的结果只能在本级,不能exit或者 enable、configure terminal

print("查看路由条目:\n"+show_route)

——————————————————————————————————————————————————————————————————————————

上述文件的输出如下(因篇幅问题,有部分会有删除):

1、show run 的输出如下:

Building configuration...

Current configuration : 874 bytes

!

version 12.4

service timestamps debug datetime msec

service timestamps log datetime msec

logging synchronous

line aux 0

exec-timeout 0 0

privilege level 15

logging synchronous

line vty 0 4

login local

!

!

end

----------------------

2、配置默认路由后的输出:

config term

Enter configuration commands, one per line. End with CNTL/Z.

R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.60.129

R1(config)#end

R1#

3、查看路由条目:

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route

Gateway of last resort is 192.168.60.129 to network 0.0.0.0

C 192.168.60.0/24 is directly connected, FastEthernet0/0

S* 0.0.0.0/0 [1/0] via 192.168.60.129

Process finished with exit code 0

参考链接:

①https://pypi.python.org/pypi/netmiko/1.4.1

②https://pynet.twb-tech.com/blog/automation/netmiko.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值