欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python腳本來獲取Cisco設備信息的示例

 更新時間:2015年05月04日 11:15:28   投稿:goldensun  
這篇文章主要介紹了編寫Python腳本來獲取Python腳本來獲取Cisco設備信息的教程,文中的示例是獲取一臺思科交換機的腳本,需要的朋友可以參考下

今天發(fā)現(xiàn)一個使用python寫的管理cisco設備的小框架tratto,可以用來批量執(zhí)行命令。

下載后主要有3個文件:

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

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

Driver.py是一個示例文件。

[root@safe tratto-master]# cat driver.py
#!/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的內(nèi)容,使用很簡單。

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

OperatingSystems = {

  'IOS': CiscoIOS,

  'WebNS': CiscoWebNS,

  'OSX': AppleOSX,

  'SOS': SecureComputingSidewinder,

  'AOS': ArubaOS,

  'OBSD': OpenBSD,

  }

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

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

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

[root@safe tratto-master]# cat cisco.py
#!/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()

相關文章

最新評論