본문 바로가기

python

(31)
Programmability for Networker : Part 10 10번째 Python for Networker 포스팅입니다. 이번 포스팅에서 Cisco Nexus의 7000과 5000에서 공통으로 사용이 가능하도록 기존에 만들었던 ipinfo.py 모듈을 변경해봅니다. 장비별로 개개의 코드를 작성해서 수행하는 것보다는 장비에서 공통으로 호환성있게 사용 가능한 코드를 만드는 것이 향후 코드에 대한 유지보수 측면에서 더욱 유리할 것 이기 때문에 유심있게 봐두면 좋을 듯 싶습니다. Git에서 Code 보기 - einfo.py : https://github.com/NetworkZIGI/Python_for_Network/blob/master/eipinfo.py - vCheck.py : https://github.com/NetworkZIGI/Python_for_Network/b..
Python for Networker : Part 6-2 이번 포스팅은 별도의 Part은 아니고~ 추가 포스팅입니다. 지난 Part 6에서 다뤄진 내용에 대해서 Nexus 7K용으로 변경한 코드입니다. 꼭 바꿔야하는 부분을 제외하고.. 약간 추가적으로 내용 업데이트도 함께 했습니다. (그 부분은 5K도 공통사항이긴합니다..) Nexus 7K로 변경해야 할 때, 어디를 바꿔야 하는지 문의하시는 분이 계셔서 수정해서 올려드립니다. 지난 번에 생각했던 것보다 조금 더 수정해야 하는 부분이 있어서. ^^; 포스팅으로 대체했습니다. Python for Networker : Part 6 보기 Github에서 보기 ○ IP Info - Nexus 7000 __author__ = 'Network ZIGI - Ko Jae Sung' #!/bin/env python import..
Programmability for Networker : Part 9 벌써 9번째 포스팅에 접어들었네요. ^^; 이번 포스팅은 직접 장비가 없어도 해보실 수 있는 VM을 이용하여 실습을 할 수 있도록 하는 환경을 꾸미는 내용입니다. 바로 ARISTA의 vEOS를 VMWARE 환경에서 사용할 수 있도록 만들어 보겠습니다. 이번 포스팅에서 1대의 가상 머신을 설치해보지만, 여러대의 VM을 띄워서 네트워크 구성도 물론 가능합니다! NetworkZIGI Python Git : https://github.com/NetworkZIGI/Python_for_Network 먼저 Arista의 vEOS를 사용하기 위해서, vEOS 이미지를 구하셔야 합니다. vEOS 이미지는 Arista 홈페이지를 가면, 아래와 같이 vEOS를 다운 받으실 수 있습니다. 물론 다운을 받기 위해서 가입을 하셔..
Programmability for Networker : Part 8 Last Updated : 2014.07.30 이번 포스팅은 Nexus 7000 시리즈에서 Python Script를 실행하기 위한 방법입니다. Nexus 버전별로 지원되는 부분이 조금씩 다른 듯 싶은데.. (물론 제가 모든 장비를 해 볼 수 있는 환경이 아니어서요... ) Nexus 5000의 경우에는 바로 Python 명령을 사용하여 기존의 만들어진 Python 모듈을 실행할 수 있지만, Nexus 7000에서는 Python 명령을 치고 '?'를 치면... 아래와 같이 Python Shell로 들어가는 것 밖에 되지 않습니다. Nexus 7000 Nexus 5000 N7K# python ? N5K# python ? bootflash: The file to run 그럼 과연 실행은 어떻게 할까요? 바로..
Programmability for Networker : Part 7 이번 포스팅도 Python으로 만들어 보는 예제입니다. 마찬가지로 Cisco Nexus 5548 기준입니다. 하지만, 현재 만드는 예제가 모두 기본 CLI명령을 입력하는 부분에서만 Cisco 패키지를 사용하기 때문에 간단한(?) 변형을 통해 다른 곳에도 활용이 가능합니다. (물론 출력된 문자열이 Nexus 기준에서 가공하여 만든 예제라 문자열 가공을 각 상황에 맞게 일부 변형이 필요합니다) 이번 예제는 특정 interface의 사용량을 원하는 횟수만큼, 원하는 시간 간격으로 화면에 출력해주는 예제입니다. * Github에서 보기 uInt.py : https://github.com/NetworkZIGI/Python_for_Network/blob/master/uInt.py uIntmod : https://g..
Programmability for Networker : Part 6 이번 포스팅은 Python으로 만들어 보는 예제입니다. 제가 Test 가능한 환경이 Cisco Nexus이기 때문에 Cisco Nexus 5548 기준으로 작성된 예제입니다만, 기본 CLI명령을 입력하는 부분에서만 Cisco 패키지의 명령을 사용하였기 때문에 변형을 한다면, 다른 곳에서 충분히 활용이 가능한(?) 예제가 될 수 있을 듯 싶습니다. (물론 출력된 문자열이 Nexus 기준에서 가공하여 만든 예제라 문자열 가공을 각 상황에 맞게 일부 변형이 필요합니다) IP를 입력하면, 해당 IP의 MAC주소와 VLAN, Interface, Description 정보를 한 번에 확인할 수 있는 내용입니다. 추후에 아래 코드는 조금씩 변형되서 업데이트 버전이 만들 계획이지만, 언제 어떻게 될지는 아직은 알 수 ..
Programmability for Networker : Part 5 이전까지 다뤄졌던 pingrange Python 예제를 변형해봅니다. 코드를 모두 짤 수 없다면, 잘 짜여진 기본 에제를 바탕으로 필요한 내용을 수정/보완하는 것도 중요할 것입니다. 물론 그렇게 하기 위해서는 기존 코드를 잘 이해하는 것이 매우 중요합니다. 기존 예제 소스를 이해하기 위해서 이론 정리만 했다면 이번 변형 예제는 기존 예제와 달라진 점을 비교해보고 또한 변형 예제에 대해서는 나름대로.. 친절하게 주석을 달았습니다. 물론 이론적인 부분이 함께 알아두고, 코드를 잘 쪼개서 볼 수 있어야 이해가 쉬울 것입니다. 기존 예제 포스팅은 아래와 같습니다. Python for Networker : Part 2 Python for Networker : Part 3 Python for Networker : ..
Programmability for Networker : Part 4 pingrange Python 예제로 살펴보는 포스팅의 3번째 편이자, 해당 예제의 마지막 편입니다. 물론 다음 편에서 다시 비슷하게 다뤄질 예정이긴 합니다. 기본 내용은 지난 포스팅과 이어지게 되며, 예제 소스는 이번 포스팅에도 동일하게 포함하여 보시기 쉽게 하였습니다. 혹시 기존 포스팅을 보지 못하신 분은 반드시! Programmability for Networker : Part 2 Programmability for Networker : Part 3 을 보고 오셔야 합니다. 본 내용에 사용된 에제는 아래에서 볼 수 있습니다. [ 예제 링크 ] https://github.com/datacenter/who-moved-my-cli ※ 본 내용의 진행은 Nexus 5548 6.0(2)N2(4) 기준입니다...