NET-SNMP の使い方のメモ。
(といっても、MIB の参照するために必要な 2 つのコマンドの主要なオプションのみメモ)
- snmpwalk
実際にエージェントの MIB を参照しその値を表示します。
以下は .1.3.6.1.2.1.1.5 を参照した例# オブジェクトを参照する # snmpwalk -c コミュニティ名 -v SNMPバージョン 機器のアドレス OID [root@localhost ~]# snmpwalk -c public -v 2c 192.168.0.1 .1.3.6.1.2.1.1.5 RFC1213-MIB::sysName.0 = STRING: "Router1" # -Of をつけて OID シンボルで表示 [root@localhost ~]# snmpwalk -Of -c public -v 2c 192.168.0.1 .1.3.6.1.2.1.1.5 .iso.org.dod.internet.mgmt.mib-2.system.sysName.0 = STRING: "Router1" # -On をつけて OID 番号で表示 [root@localhost ~]# snmpwalk -On -c public -v 2c 192.168.0.1 .1.3.6.1.2.1.1.5 .1.3.6.1.2.1.1.5.0 = STRING: "Router1" # OIDシンボルで指定 [root@localhost ~]# snmpwalk -c public -v 2c .iso.org.dod.internet.mgmt.mib-2.system.sysName.0 RFC1213-MIB::sysName.0 = STRING: "Router1" # MIB ファイル名+シンボルで指定 (正確にはファイル名ではなく、MIB ファイルの先頭行で宣言された名前) [root@localhost ~]# snmpwalk -c public -v 2c RFC1213-IB::sysName.0 RFC1213-MIB::sysName.0 = STRING: "Router1"
列挙する場合は以下のように。
# mib-2.system 以下を列挙 snmpwalk -c public -v 2c 192.168.0.1 .1.3.6.1.2.1.1 # mib-2 (.1.3.6.1.2.1) 以下を列挙する場合はアドレス指定はなくて良い。 snmpwalk -c public -v 2c 192.168.0.1 # 全部を列挙する場合は . のみを指定 snmpwalk -c public -v 2c 192.168.0.1 .
- snmptranslate
MIB ファイルを参照し名前解決を確認します。
snmptranslate は MIB ファイルを参照した結果を表示しているだけなので、snmptranslate で表示で来たからと言って実際の機器にそのオブジェクトがあるとは限らない点、またはアクセス権があるとは限らない点に注意です。(= snmptranslate では成功するが snmpwalk では値が取得できないことがあります)# MIB ファイル名+シンボルを得る [root@localhost ~]# snmptranslate .1.3.6.1.2.1.1.5 RFC1213-MIB::sysName # -Of オプションで OID シンボルを得る [root@localhost ~]# snmptranslate -Of .1.3.6.1.2.1.1.5 .iso.org.dod.internet.mgmt.mib-2.system.sysName # -On オプションで OID 番号を得る [root@localhost ~]# snmptranslate -On .iso.org.dod.internet.mgmt.mib-2.system.sysName .1.3.6.1.2.1.1.5 # -Tp オプションで MIB ツリーを表示する [root@localhost ~]# snmptranslate -Tp .1.3.6.1.2.1.1 +--system(1) | +-- -R-- String sysDescr(1) | Textual Convention: DisplayString | Size: 0..255 +-- -R-- ObjID sysObjectID(2) +-- -R-- TimeTicks sysUpTime(3) | | | +--sysUpTimeInstance(0) | +-- -RW- String sysContact(4) | Textual Convention: DisplayString | Size: 0..255 +-- -RW- String sysName(5) | Textual Convention: DisplayString | Size: 0..255 +-- -RW- String sysLocation(6) | Textual Convention: DisplayString | Size: 0..255 +-- -R-- INTEGER sysServices(7) | Range: 0..127 +-- -R-- TimeTicks sysORLastChange(8) | Textual Convention: TimeStamp | +--sysORTable(9) | +--sysOREntry(1) | Index: sysORIndex | +-- ---- INTEGER sysORIndex(1) | Range: 1..2147483647 +-- -R-- ObjID sysORID(2) +-- -R-- String sysORDescr(3) | Textual Convention: DisplayString | Size: 0..255 +-- -R-- TimeTicks sysORUpTime(4) Textual Convention: TimeStamp