使用Python指令碼來擷取Cisco裝置資訊的樣本

來源:互聯網
上載者:User
今天發現一個使用python寫的管理cisco裝置的小架構tratto,可以用來批量執行命令。

下載後主要有3個檔案:

Systems.py 定義了一些不同裝置的作業系統及其常見命令。

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

Driver.py是一個樣本檔案。

[root@safe tratto-master]# cat driver.py#!/usr/bin/env pythonimport Connectivityimport Systems#telnet to a cisco switchm = Systems.OperatingSystems['IOS']s = Connectivity.Session("192.168.1.1",23,"telnet",m)s.login("yourusername", "yourpassword")# if your need to issue an "enable" commands.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#!/usr/bin/env python## Cisco Switch commands# By s7eph4ni3#import Connectivityimport Systemsm = 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()
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.