SNMP

やること

net-snmp のコマンドを使ってルータから情報を polling してみよう.

  • snmpget
    • SNMP GET リクエストを送るコマンド.特定の OID を指定して値を引っ張ってくる
  • snmpwalk
    • SNMP GETNEXT リクエストで,ある OID で指定された MIB の Sub Tree の内容を全部引っ張ってくる.

Cisco SNMP Object Navigator

さて,これから ほしいオブジェクトの OID を指定してネットワーク機器(今回は Cisco ルータ)からデータをもらってくることになるのだが,この際 CiscoSNMP Object Navigator を参照すると良いだろう.当然 Cisco のプライベート MIB も検索できる.

ルータの標準MIBを取ってみる

インタフェース関連の情報を取ってみよう.OID 1.3.6.1.2.1.2.2.1*1だ.その中でもう一段降りて,インタフェース名(ifDescr(2))を取得してみる.

$ snmpwalk -v2c -c public router01 1.3.6.1.2.1.2.2.1.2
IF-MIB::ifDescr.1 = STRING: Ethernet0/0
IF-MIB::ifDescr.2 = STRING: BRI0/0
IF-MIB::ifDescr.3 = STRING: BRI0/0:1
IF-MIB::ifDescr.4 = STRING: BRI0/0:2
IF-MIB::ifDescr.5 = STRING: Ethernet0/1
IF-MIB::ifDescr.6 = STRING: BRI0/1
IF-MIB::ifDescr.7 = STRING: BRI0/1:1
IF-MIB::ifDescr.8 = STRING: BRI0/1:2
IF-MIB::ifDescr.9 = STRING: Null0
IF-MIB::ifDescr.10 = STRING: Loopback0
IF-MIB::ifDescr.11 = STRING: BRI0/0-Physical
IF-MIB::ifDescr.12 = STRING: BRI0/0-Signaling
IF-MIB::ifDescr.13 = STRING: BRI0/0:1-Bearer Channel
IF-MIB::ifDescr.14 = STRING: BRI0/0:2-Bearer Channel
IF-MIB::ifDescr.15 = STRING: BRI0/1-Physical
IF-MIB::ifDescr.16 = STRING: BRI0/1-Signaling
IF-MIB::ifDescr.17 = STRING: BRI0/1:1-Bearer Channel
IF-MIB::ifDescr.18 = STRING: BRI0/1:2-Bearer Channel

*1:.iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).interfaces(2).ifTable(2).ifEntry(1)