我必須通過一些支持SNMP的網絡打印機來收集一些OID,並使用我一直在研究的BASH腳本。SNMP OUTPUT OPTIONS - 如何獲得OID響應值?
我的要求:
snmpget -v2c -c public 192.168.0.77
.1.3.6.1.2.1.1.1
.1.3.6.1.2.1.1.2
我的實際響應:
.1.3.6.1.2.1.1.1 = Counter32: 1974
.1.3.6.1.2.1.1.2 = Counter32: 633940
所需的響應:
1974
633940314
(只是OID唯一值)
我看了看,測試了幾個選項■使用的資源從下面的網站:
http://www.netsnmp.org/docs/man/snmpcmd.html#lbAF
-Oq
移除了 '=',所以運行
snmpget -v2c -c public -Oq 10.15.105.133
.1.3.6.1.2.1.1.1
.1.3.6.1.2.1.1.2
回報
.1.3.6.1.2.1.1.1 Counter32: 1974
.1.3.6.1.2.1.1.2 Counter 32: 633940314
,所以我知道我在正確的措辭我的要求。
我正在將值寫入MYSQL dB,我在我的故事模式中設置了數據類型,請求是一致的,因此我知道OID的定義,所以我不需要所有的信息回來,只是OID本身的價值,所以我可以把它寫到我的dB而不用操縱響應。我可能可以操縱將信息拉到「:」右側並寫入OID值的響應。
我是比較新的SNMP(http://www.net-snmp.org/),但我不明白爲什麼這不是更常見的問題,因爲我一直在回答到處尋找和這個職位是我的最後手段...
您是否在示例中刪除了「實際響應」中的幾位數字?這與討論的其餘部分不匹配。 – tripleee 2015-04-01 09:25:44
不確定這是一個編程問題。不過,其中一個答案是編程答案。 =) – Jolta 2015-04-13 11:55:10