簡體   English   中英

使用python解析snmp walk輸出

[英]Parsing snmp walk output using python

任何人都可以建議一個好的庫或一種方法來解析輸出,類似於以下的snmpwalk輸出。

輸出來自杜松盒。 我希望能夠提取序列號之類的東西並與相關組件關聯

完整的輸出可以在這里查看。

SOME_DEVICE_NAME,2636.3.1.1.0 : OBJECT IDENTIFIER: .iso.org.dod.internet.private.enterprises.2636.1.1.1.1.40.0
SOME_DEVICE_NAME,2636.3.1.2.0 : OCTET STRING- (ascii):     node1 Juniper SRX650 Internet Router
SOME_DEVICE_NAME,2636.3.1.3.0 : OCTET STRING- (ascii):     AJ5113AK0055
SOME_DEVICE_NAME,2636.3.1.4.0 : OCTET STRING- (ascii):
SOME_DEVICE_NAME,2636.3.1.5.0 : Timeticks: (2147483647) 248 days, 13:13:56.47

我建議使用一些Python SNMP庫來簡化輸出解析。

您可以使用例如Net-SNMP Python Bindings 有關詳細信息,請參閱文檔

用法的簡化示例:

import netsnmp

session = netsnmp.Session(DestHost="SOME_DEVICE_NAME", Version=2, Community="public")
session.UseLongNames = 1
session.UseNumeric = 1
oid=".1.3.6.1.4.1.2636.3.1"
vars = netsnmp.VarList(oid)
session.walk(vars)

# to check errors: if len(session.ErrorStr) > 0:

# to get output values
for item in vars:
        print item.val

然后,您可以使用一些正則表達式解析等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM