摘自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()