使用Python腳本來獲取Cisco設(shè)備信息的示例
今天發(fā)現(xiàn)一個使用python寫的管理cisco設(shè)備的小框架tratto,可以用來批量執(zhí)行命令。
下載后主要有3個文件:
Systems.py 定義了一些不同設(shè)備的操作系統(tǒng)及其常見命令。
Connectivity.py 是主要實(shí)現(xiàn)功能的代碼,其實(shí)主要就是使用了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)容,使用很簡單。
首先選擇一個設(shè)備系統(tǒng)版本,此例cisco交換機(jī),所以使用了IOS。作者現(xiàn)在寫的可以支持的設(shè)備系統(tǒng)有:
OperatingSystems = {
'IOS': CiscoIOS,
'WebNS': CiscoWebNS,
'OSX': AppleOSX,
'SOS': SecureComputingSidewinder,
'AOS': ArubaOS,
'OBSD': OpenBSD,
}
然后填寫ip,端口,telnet或者ssh,最后就是上步選擇的系統(tǒng)版本。login填上登陸憑證。
s.escalateprivileges是特權(quán)憑證。so easy~
以下是我寫的一個使用腳本,抓取交換機(jī)的一些信息,然后保存到文件。
[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()
相關(guān)文章
python實(shí)現(xiàn)從pdf文件中提取文本,并自動翻譯的方法
今天小編就為大家分享一篇python實(shí)現(xiàn)從pdf文件中提取文本,并自動翻譯的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
詳解Python如何根據(jù)給定模型計(jì)算權(quán)值
這篇文章將通過一個簡單的例子,為大家展示Python如何根據(jù)給定的模型結(jié)構(gòu)來計(jì)算和提取權(quán)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11
Python異步編程之協(xié)程任務(wù)的調(diào)度操作實(shí)例分析
這篇文章主要介紹了Python異步編程之協(xié)程任務(wù)的調(diào)度操作,結(jié)合實(shí)例形式分析了Python異步編程中協(xié)程任務(wù)的調(diào)度相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-02-02
python爬取”頂點(diǎn)小說網(wǎng)“《純陽劍尊》的示例代碼
這篇文章主要介紹了python爬取”頂點(diǎn)小說網(wǎng)“《純陽劍尊》的示例代碼,幫助大家更好的利用python 爬蟲爬取數(shù)據(jù),感興趣的朋友可以了解下2020-10-10
用Python畫一個LinkinPark的logo代碼實(shí)例
這篇文章主要介紹了用Python畫一個LinkinPark的logo代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09

