python pysnmp使用

來源:互聯網
上載者:User

標籤:python

SNMP標準引入一組ASN.1語言元素,稱之為SMI(Structure of ManagementInformation)。由SMI描述的相互關聯的被管對象(Managed Objects)組成MIB(ManagementInformation Base)模組。

 

核心MIB中經常用到的ManagedObjects成為SNMP標準的一部分。剩下的MIB一般由裝置生產商在其裝置中建立。(也就是說這些MIB是生產商和裝置相關的)

 

PySNMP是一個純粹用Python實現的SNMP。

 

用PySNMP的最抽象的API為One-lineApplications。其中有兩類API:同步的和非同步的,都在模組pysnmp.entity.rfc3413.oneliner.cmdgen 中實現。

 

所以在使用的時候為了方便,可以

from pysnmp.entity.rfc3413.oneliner import cmdgen然後用cg = cmdgen.CommandGenerator()來產生一個CommandGenerator對象,以後調用cg的getCmd等方法來擷取或者設定網路裝置資訊。

getCmd()需要三個參數:

1.cmdgen.CommunityData()   ##社區資訊 傳入三個資料,安全my-agent、社區名public、snmp協議版本,之間用逗號隔開,例如 cmdgen.CommunityData(‘my-agent‘, ‘public‘, 1) 

 

2.cmdgen.UdpTransportTarget()    ##通道參數,傳入一個元組,包含主機IP/網域名稱和連接埠,例如:cmdgen.UdpTransportTarget((‘192.168.70.237‘, 161)

 

3. OID    ##mib值,例如 ‘.1.3.6.1.4.1.1800.5.13.2‘

 

注意:三個參數之間用 ","隔開。

 

 

下面上個例子是獲得裝置snmp資料:

 

from pysnmp.entity.rfc3413.oneliner import cmdgendef snmpget():    cg = cmdgen.CommandGenerator() ##獲得CommandGenerator對象     errorIndication, errorStatus, errorIndex, varBinds = cg.getCmd(      #0代表v1,1代表v2c      cmdgen.CommunityData(‘my-agent‘, ‘public‘, 1),  ##社區資訊,my-agent ,public 表示社區名,1表示snmp v2c版本,0為v1版本    cmdgen.UdpTransportTarget((‘192.168.70.237‘, 161)),##這是傳輸的通道,傳輸到IP 192.168.70.237, 連接埠 161上(snmp標準預設161 UDP連接埠)     ‘.1.3.6.1.4.1.1800.5.13.2‘ ##傳送的OID,個人認為MIB值     )    print str(varBinds[0][1]); ##varBinds返回是一個stulp,含有MIB值和獲得值def runit(loop=1):    for i in range(loop):        snmpget()        #print i if __name__ == "__main__":    runit(loop=1)

參考:http://blog.sina.com.cn/s/blog_54ce569c01009ccb.html

本文出自 “Lingx” 部落格,請務必保留此出處http://13907664629.blog.51cto.com/8787187/1631278

python pysnmp使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.