使用Python進行snmp操作


摘自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()
復制代碼

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM