답변:
최소한 IOS 12.2 이상을 실행하는 거의 모든 주 1 Cisco IOS 시스템에는 내장 tcl 쉘 프로그래밍 기능이 있습니다. tcl 스크립트를 플래시에 저장하고 실행할 수 있습니다.
Cisco IOS에는 EEM (Embedded Event Manager)이라는 간단한 기본 프로그래밍 환경이 있습니다. EEM 이벤트는 특정 포트의 패킷 (Netflow를 통한 패킷), 로그 메시지 또는 인터페이스 업 / 다운과 같은 다양한 입력에 의해 트리거 될 수 있습니다. IEM에서 EEM을 tclsh 기능의 하위 집합으로 생각하십시오. EEM은 TCL에서 프로그래밍하는 것보다 빠르지 만 다루는 IOS 믹스에 따라 희미한 기능을 지원합니다. CEM 일정에 따라 EEM을 실행할 수 있습니다. 이 답변 의 맨 아래 에는 예제 EEM 스크립트가 포함되어 있습니다. EEM은 함수의 정의 등을 시작하고 싶을 때 소수의 "if-this, do-that"문에 가장 적합하다는 점을 명심하십시오 tclsh
.
새로운 Cisco 제품은 휴대폰에 입력하는 동안 설명 할 수있는 것보다 더 넓은 특수한 통조림 SDN API를 지원합니다. 이 제품군의 한 예는 Cisco APIC를 포함 하지만 사용 가능한 제품의 표면을 긁는 것입니다.
지난 20 년 동안 수행 된 대부분의 Cisco 스크립팅이 스크린 스크랩 핑 , snmp 및 (오늘날) NETCONF 를 통해 이루어 졌다는 사실을 지적하지 않은 경우, 나는 그 일을 취소 할 것입니다. CLI에서 수행 할 수있는 모든 작업은 화면 스크래핑을 통해 자동화 할 수 있습니다. 나는이 일을하는 데 내 경력의 많은 부분을 보냈다. 스크린 스크레이퍼는 일반적으로 외부 Linux 시스템에서 스크립트를 호스팅하고 자신이 선택한 무기로 라우터에 연결합니다. 일반적으로 다음 언어 중 하나입니다.
Net::SSH::Perl
, Net::Telnet::Cisco
, Net::SNMP
, 및Cisco::Reconfig
pexpect
, netmiko
, exscript
, pysnmp
, 및ciscoconfparse
net-ssh
, snmp
및cisco
마지막으로, 새로운 시스코 넥서스 제품 (예 : 파이썬 API가 이 하나의 넥서스 9K를 들어) 파이썬 API는 일반적으로 TCL API보다 다루기가 쉽지만이 시점에서 Nexus 제품군으로 제한됩니다.
참고 1 내가 아는 유일한 예외는 Cisco 3550이며 12.2 에는 없습니다tclsh
.