使用python管理Cisco設備-乾頤堂


今天發現一個老外使用python寫的管理cisco設備的小框架tratto,可以用來批量執行命令。

下載后主要有3個文件:

Systems.py 定義了一些不同設備的操作系統及其常見命令。

Connectivity.py 是主要實現功能的代碼,其實主要就是使用了python的pexpect模塊。

Driver.py是一個示例文件。

[root@safe tratto-master]# cat driver.py

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env python
import Connectivity
import Systems 
#telnet to a cisco switch
m = Systems.OperatingSystems[ 'IOS' ]
s = Connectivity.Session( "192.168.1.1" , 23 , "telnet" ,m)
s.login( "yourusername" , "yourpassword" )
# if your need to issue an "enable" command
s.escalateprivileges( 'yourenablepassword' )
s.sendcommand( "show clock" )
s.sendcommand( "show run" )
s.logout()

以上就是示例driver.py的內容,使用很簡單。

首先選擇一個設備系統版本,此例cisco交換機,所以使用了IOS。作者現在寫的可以支持的設備系統有:

OperatingSystems = {

   'IOS': CiscoIOS,

   'WebNS': CiscoWebNS,

   'OSX': AppleOSX,

   'SOS': SecureComputingSidewinder,

   'AOS': ArubaOS,

   'OBSD': OpenBSD,

   }

然后填寫ip,端口,telnet或者ssh,最后就是上步選擇的系統版本。login填上登陸憑證。

s.escalateprivileges是特權憑證。so easy~

以下是我寫的一個使用腳本,抓取交換機的一些信息,然后保存到文件。

[root@safe tratto-master]# cat  cisco.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env python
#
# Cisco Switch commands 
# By s7eph4ni3
#
import Connectivity
import Systems 
m = Systems.OperatingSystems[ 'IOS' ]
iplist = [ '192.168.1.1' , '192.168.1.2' ]
cmdlist = [ 'show ip int brief' , 'show cdp nei detail' , 'show arp' , 'show ver' ]
for ip in iplist:
     if ip = = '192.168.1.1' :
         s = Connectivity.Session(ip, 23 , "telnet" ,m)
         s.login(" ", " passwd")
     else :
         s = Connectivity.Session(ip, 22 , "ssh" ,m)
         s.login( "username" , "passwd" )
     s.escalateprivileges( 'enpasswd' )
     f = open (ip + '.txt' , 'w+' )
     for cmd in cmdlist:
         a = s.sendcommand(cmd)
         f.write(ip + cmd + '\n' )
         f.write(a + '\n' )
     f.close()
     s.logout()

www.qytang.com/
http://www.qytang.com/cn/list/29/
http://www.qytang.com/cn/list/28/404.htm
http://www.qytang.com/cn/list/28/397.htm
http://www.qytang.com/cn/list/28/396.htm
http://www.qytang.com/cn/list/28/395.htm
http://www.qytang.com/cn/list/28/394.htm
http://www.qytang.com/cn/list/28/393.htm
http://www.qytang.com/cn/list/28/391.htm
http://www.qytang.com/cn/list/28/389.htm
http://www.qytang.com/cn/list/28/388.htm
http://www.qytang.com/cn/list/28/362.htm
http://www.qytang.com/cn/list/28/358.htm
http://www.qytang.com/cn/list/28/351.htm
http://www.qytang.com/cn/list/28/348.htm
http://www.qytang.com/cn/list/28/340.htm
http://www.qytang.com/cn/list/28/338.htm
http://www.qytang.com/cn/list/28/336.htm
http://www.qytang.com/cn/list/28/330.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM