시스코 장비를 관리하기 위해 외국인이 파이썬을 사용해 작성한 작은 프레임워크 트라토를 발견했는데, 이를 통해 일괄적으로 명령을 실행할 수 있습니다.
다운로드하면 주로 3개의 파일이 있습니다.
Systems.py는 다양한 장치의 운영 체제와 공통 명령을 정의합니다.
Connectivity.py는 주로 함수를 구현하는 코드입니다. 실제로는 Python의 pexpect 모듈을 주로 사용합니다.
Driver.py는 샘플 파일입니다.
[root@safe tratto-master]# catdriver.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()
위는 사용하기 매우 간단한 드라이버.py 예제의 내용입니다.
먼저 장치 시스템 버전을 선택하세요. 이 경우 Cisco 스위치이므로 IOS가 사용됩니다. 작성자가 현재 작성하고 있는 지원 가능한 장치 시스템은 다음과 같습니다.
OperatingSystems = {
'IOS': CiscoIOS,
'WebNS': CiscoWebNS,
'OSX': AppleOSX,
'SOS': SecureComputingSidewinder,
'AOS': ArubaOS,
'OBSD': OpenBSD,
}
그런 다음 IP, 포트, 텔넷 또는 SSH를 입력하고 마지막으로 이전 단계에서 선택한 시스템 버전을 입력하세요. 로그인 로그인 자격 증명을 입력하세요.
s.escalateprivileges는 권한 있는 자격 증명입니다. 너무 쉬워요~
다음은 스위치에 대한 정보를 일부 가져와서 파일로 저장하기 위해 작성한 스크립트입니다.
[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()