远程获取--snmp模块(python)/snmp-cmds,easysnmp

一、简介

snmp-cmds模块通过SNMP与目标设备进行通信,此模块适用于windows,此模块是基于系统已安装了net-snmp环境
easysnmp模块通过SNMP与谬表设备进行通信,此模块用于linux,此模块基于系统已安装了net-snmp环境

二、snmp-cmds模块安装

  2.1 在Windows平台

复制代码
#1.系统环境安装net-snmp软件
 a.下载链接: https://pan.baidu.com/s/1sq4mjIMfFgG2YxTMLxVF0A 提取码: a7j5
windows-adm64下载链接:https://zh.osdn.net/projects/sfnet_net-snmp/downloads/net-snmp%20binaries/5.5-binaries/net-snmp-5.5.0-2.x64.exe/ b.安装完成,打开cmd命令框,输入snmpwalk,无报错,有回显,即安装正常 #2.使用pip工具安装snmp-cmds模块 pip3 install snmp-cmds
复制代码

  2.2 在Centos 7平台

复制代码
#1.系统环境安装net-snmp软件
 a.yum install python-devel
 b.安装setuptools
    wget https://files.pythonhosted.org/packages/25/5d/cc55d39ac39383dd6e04ae80501b9af3cc455be64740ad68a4e12ec81b00/setuptools-0.6c11-py2.7.egg
 c.安装net-snmp-5.7.3软件
    wget https://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/net-snmp-5.7.3.tar.gz
 d.提升setuptools为可执行文件
     chmod +x setuptools-0.6c11-py2.7.egg
 e. ./setuptools-0.6c11-py2.7.egg
 f.  tar -zxvf net-snmp-5.7.3.tar.gz
 g.  cd net-snmp-5.7.3
 h.  ./configure --with-python-modules     #选择版本时,输入2,其余直接回车
 i. make (时间较长)
 j. make install
 k. echo "/usr/local/lib" >> /etc/ld.so.conf
 l. ldconfig
 m. 验证,是否有snmpwalk命令
 
 
#2.使用pip工具安装snmp-cmds模块
   pip3 install easysnmp

ps:easysnmp官方文档地址:https://easysnmp.readthedocs.io/en/latest/
复制代码

三、简单实例

  3.1 获取目标设备的接口名字

复制代码
from snmp_cmds import snmpwalk
#返回结果是列表
res = snmpwalk(ipaddress='192.168.59.251',oid='IF-MIB:ifDescr',community='qiji123')

for line in res:
    #第一个元素为oid,第二个元素为接口名字
    print(line[0],'     ',line[1])
复制代码

  3.2 使用pysnmp模块案例

复制代码
from easysnmp import snmp_walk

device_ip = 'IP地址'
community = '团体字'
# oid = 'IF-MIB::ifDescr'
oid = 'sysDescr'

def test():
    res = snmp_walk(oid, hostname=device_ip, community=community, version=2)

    for each in res:
        print(each.value)
     
if __name__ == '__main__':
    test()
复制代码

原文地址:https://www.cnblogs.com/zhukaijian/p/13202985.html