久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Python pysnmp使用方法及代碼實例

瀏覽:3日期:2022-07-13 11:04:32

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

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

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

用PySNMP的最抽象的API為One-line Applications。其中有兩類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 cmdgen def 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 iif __name__ == '__main__': runit(loop=1)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 启东市| 西贡区| 永泰县| 阿图什市| 卢氏县| 专栏| 柏乡县| 项城市| 确山县| 沈丘县| 图木舒克市| 吴江市| 云龙县| 奇台县| 凤翔县| 沂源县| 迭部县| 阜宁县| 张家川| 嘉定区| 安顺市| 锡林浩特市| 贵港市| 卓尼县| 浦江县| 安化县| 色达县| 元阳县| 宣武区| 海伦市| 乌拉特前旗| 泸定县| 崇阳县| 福鼎市| 当涂县| 喀什市| 武汉市| 白山市| 凤山市| 新竹市| 自治县|