一、简介
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
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 获取目标设备的接口名字
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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()