是的,這是正常的,你是retreiving從警報表中的行:
隨便看看的MIB:
MIB的相應的文字部分爲(from RFC 1759):
prtAlertTable OBJECT-TYPE
SYNTAX SEQUENCE OF PrtAlertEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
""
::= { prtAlert 1 }
prtAlertEntry OBJECT-TYPE
SYNTAX PrtAlertEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Entries may exist in the table for each device
index who's device type is `printer'."
INDEX { hrDeviceIndex, prtAlertIndex }
::= { prtAlertTable 1 }
PrtAlertEntry ::= SEQUENCE {
prtAlertIndex Integer32,
prtAlertSeverityLevel INTEGER,
prtAlertTrainingLevel INTEGER,
prtAlertGroup INTEGER,
prtAlertGroupIndex Integer32,
prtAlertLocation Integer32,
prtAlertCode INTEGER,
prtAlertDescription OCTET STRING,
prtAlertTime TimeTicks
}
因此,SNMP的工作方式是通過該行的索引來後綴MIB的OID條目。您可以通過Get-Bulk獲取整個表格,但我認爲首先要了解如何檢索SNMP表格。
在您的具體情況:1.3.6.1.2.1.43.18.1.1.8.1.1
,你必須把它讀作:
1.3.6.1.2.1.43.18.1.1.8
:其次
1
prtAlertDescription:在hrDeviceIndex其次
1
:在prtAlertIndex這是該行。
建議您可以找到一個名爲snmpsharpnet的程序集,這對於使用.NET開發SNMP非常有幫助。
我實際上已經在使用snmpsharp了。但打印機只支持SNMP v1,這是否意味着我不能做GetBulk? – omatase 2011-05-11 19:59:07
是Get-Bulk僅在SNMPV2c上可用。所以你必須從第一個冒號 – JPBlanc 2011-05-11 20:12:49
開始編程散步(看看下一個),我認爲這可能是最好的,然後在獲得增量值之前,直到我點擊某個東西。我開始的地方,但至少我知道那裏沒有更好的選擇。 – omatase 2011-05-11 20:30:43