본문 바로가기

네트워크/네트워크 자동화

[네트워크 자동화] - Netmiko 지원 장비 확인 및 자동 탐지 방법

728x90

● Netmiko 에서 지원 가능한 장비 확인 방법

  - Netmiko가 지원하는 장비는 모두 118개 이며 대표적으로 Cisco, HP, Extreme, Hwawei, Dell, Brocade와 같은 스위치를 지원 합니다. 아래 코드를 통해 지원가능한 스위치를 확인 할 수 있으며 netmiko에 포함되어 있는 함수를 직접 import 하여 다양한 스위치에 대해 접근하여 명령어를 전달 할 수 있습니다. 대표적으로 citrix가 있으며 "from netmiko import citrix" 문구를 통해 citrix를 제어할 수 있는 함수를 불러서 사용할 수 있습니다. 

 

from netmiko import ConnectHandler

# Just pick an 'invalid' device_type
cisco1 = {
    "device_type": "invalid",
    "host": "cisco1.lasthop.io",
    "username": "pyclass",
    "password": "invalid"
}

net_connect = ConnectHandler(**cisco1)
net_connect.disconnect()

 

● Netmiko SSHDetect를 활용한 장비 타입 확인 방법

  - 접속할 장비 타입을 확인 할 수 없을 때 자동으로 장비 타입을 확인할 수 있는 방법이 3가지가 있습니다. SSH, SNMPv2, SNMPv3 사용 가능하며, 일반적으로 사용하는 방법은 SSH를 사용한 방법 입니다. 

from netmiko import SSHDetect, ConnectHandler

device = {
    "device_type": "autodetect",
    "host": "IP 주소 입력",
    "username": "계정",
    "password": "비밀번호",
}

guesser = SSHDetect(**device)
best_match = guesser.autodetect()
print(best_match)  # Name of the best device_type to use further
print(guesser.potential_matches)  # Dictionary of the whole matching result
#Update the 'device' dictionary with the device_type
device["device_type"] = best_match

with ConnectHandler(**device) as connection:
    print(connection.find_prompt())

 

 

 

 

728x90