問題我發送SNMPTRAP使用下面的命令pysnmp prettyPrint()上的十六進制數
須藤SNMPTRAP -v2c -c公共 '' .1.2.3.4.5.6.7.8.9的ifIndex I 2個ifAdminStatus I 1 1.3 .6.1.4.1.9.9.599.1.3.1.1.1.0 X 「0x34e2fd600a84」
我用prettyPrint()格式化在var中結合的輸出值。問題是輸出不包含前導零。因此所得到的輸出是一樣的東西
so.org.dod.internet.private.enterprises 9.9.599.1.3.1.1.1.0 = 0x34e2fd60a84
結果輸出具有小於一個0原始輸入。這是prettyPrint中的錯誤還是我在這裏錯過了一些東西?
編輯
這裏是我的實現。這裏面的回調函數
# Callback function for receiving notifications
def cbFun(snmpEngine, stateReference, contextEngineId, contextName,varBinds, cbCtx):
我有代碼塊是這樣的:
for name, val in varBinds:
oid, label, suffix = MIBView.getNodeName(name)
oidLabel = ".".join(map(str, label))
oidSuffix = ".".join(map(str, suffix))
oid_string = oid.prettyPrint()
value = val.prettyPrint()
value = val.prettyPrint()
返回的十六進制值從兩個連續的0圖案去除一個0的部分。所以如果打印值使用打印值,我會得到0x34e2fd60a84。但我會除了得到0x34e2fd600a84。
目前尚不清楚pysnmp如何參與您的情況。一些代碼肯定會有所幫助。另一方面,前導0是一個格式屬性,它不應該改變有問題的值。 –
請參閱更新後的問題 –