SNMP実例

次に実例を示す。
LinuxMac OS XならばコマンドでSNMPを使える。
screenshot第4回 SNMPとv3セキュリティ (1/4) - ITmedia エンタープライズ

まずはsnmpwalk。PDUならばget-next-requestに相当。エージェントの全ての管理情報を取得できる。
手元にBrotherのMyMio MFC-620CLNがあるので、それに対してsnmpwalkしてみる。

air:~ air$ snmpwalk -v1 -c public 192.168.xxx.yyy
SNMPv2-MIB::sysDescr.0 = STRING: Brother NC-110h, Firmware Ver.Q  ,MID 8CA-858
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.11.2.3.9.1
 :
.iso.org.dod.internet.mgmt.mib-2.43.18.1.1.9.1.1 = Timeticks: (3699494500) 428 days, 4:22:25.00

このとき、Wiresharkでキャプチャしたパケットは(IPアドレスの代わりに機器名を記載)

air MFC-620CLN SNMP get-next-request 1.3.6.1.2.1
MFC-620CLN air SNMP get-responce 1.3.6.1.2.1.1.0
air MFC-620CLN SNMP get-next-request 1.3.6.1.2.1.1.0
MFC-620CLN air SNMP get-responce 1.3.6.1.2.1.2.0
 :
air MFC-620CLN SNMP get-next-request 1.3.6.1.2.1.43.18.1.1.8.1.1
MFC-620CLN air SNMP get-responce 1.3.6.1.2.1.43.18.1.1.9.1.1
air MFC-620CLN SNMP get-next-request 1.3.6.1.2.1.43.18.1.1.9.1.1
MFC-620CLN air SNMP get-responce 1.3.6.1.4.1.11.2.3.9.1.1.1.0
となっていた。まず標準のMIBが入っているMIB-2である1.3.6.1.2.1(.iso.org.dod.internet.mgmt.mib-2)以下で次のオブジェクト値を取得するようget-next-requestで指定、エージェントがそれに応えてget-responce 1.3.6.1.2.1.1.0(.iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0)と返答してきている。これに続き、1.3.6.1.2.1.1.0の次のMIBをget-next-requestで指定するとget-responce 1.3.6.1.2.1.2.0(.iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0)と返答。これが繰り返されていく。 一方、snmpgetではOIDを指定して、そのオブジェクト値を取得する。つまりget-requestに相当。なお、OIDの先頭にはドットを付ける。付けないと頭に自動的に1.3.6.1.2が補われてしまうらしい。
air:~ air$ snmpget -v1 -c public -Of 192.168.xxx.yyy .1.3.6.1.2.1.1.5.0
.iso.org.dod.internet.mgmt.mib-2.system.sysName.0 = STRING: MFC-620CLN
Wiresharkでのキャプチャ結果は
air MFC-620CLN SNMP get-request 1.3.6.1.2.1.1.5.0
MFC-620CLN air SNMP get-responce 1.3.6.1.2.1.1.5.0
となる。コマンド通り、オブジェクト値を一つだけ取得している。
2014 徹底解説ネットワークスペシャリスト本試験問題 (本試験問題シリーズ)

2014 徹底解説ネットワークスペシャリスト本試験問題 (本試験問題シリーズ)