摘自https://www.cnblogs.com/lisenlin/p/10491681.html
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 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()


