資源簡介
Python利用SNMP讀取交換機端口信息及狀態,通過路由器和交換機上啟用SNMP協議,Python環境下安裝net-snmp-python包實現
代碼片段和文件信息
#?-*-?coding:utf-8?-*-
import?re
import?os
import?time
import?platform
def?snmpWalk(host?community?oid):
????“““利用os模塊打開一個管道運行snmpwalk工具結合host,團體字符串,OID獲取交換機路由器狀態“““
????result?=?os.popen(‘snmpwalk?-v?2c?-c?‘?+?community?+?‘?‘+?host?+?‘?‘?+?oid).read().split(‘\n‘)[:-1]
????return?result
def?getPortDevices(hostcommunity):
????“““獲取端口信息“““
????device_mib?=?snmpWalk(host?community?‘RFC1213-MIB::ifDescr‘)
????device_list?=?[]
????for?item?in?device_mib:
????????device_list.append(item.split(‘:‘)[3].strip())
????return?device_list
def?getPortStatus(hostcommunity):
????“““獲取端口狀態信息“““
????device_mib?=?snmpWalk(host?community?‘RFC1213-MIB::ifOperStatu
評論
共有 條評論