宛先ポートを指定した SNMP Get 実行方法【ネットワーク検証】

ネットワーク

ネットワーク検証における SNMP の動作確認

ネットワーク構築における検証作業にて、SNMP の動作確認を行うことが良くあります。

SNMP については主に以下の 2 点を確認します。

  • 監視サーバからネットワーク機器への SNMP Get の動作確認
  • ネットワーク機器から監視サーバへの SNMP Trap 送信の動作確認

以下では SNMP Get の動作確認方法について記載します。

宛先ポートを指定した SNMP Get の実施方法

SNMP Get のデフォルトの待ち受けポートは 161 ですが、ネットワーク機器側で待ち受けポートを変更している場合があります。

この場合、監視サーバ側での SNMP Get 実行時に宛先ポート番号を明示的に指定する必要があります。

方法としてはいくつかあると思いますが、CentOS の snmpget コマンドを使用すると簡単に宛先ポート番号を指定した SNMP Get を実行することができます。

CentOS の準備

ここでは CentOS 8 を使用します。

snmpget コマンドを使用するためには net-snmp-utils をインストールする必要があるため以下コマンドでインストールします。

  • dnf -y install net-snmp-utils
[root@CentOS8 ~]# dnf -y install net-snmp-utils

インストールできたらバージョンを確認してみます。

[root@CentOS8 ~]# snmpget -V
NET-SNMP version: 5.8

CentOS での準備は以上です。

snmpget コマンドの使い方

snmpget コマンドの使い方は以下の通りです。

  • snmpget -v <1|2c> -c <コミュニティ> <宛先IP[:ポート番号]> <OID>
    • -v <1|2c>:SNMP バージョンを指定
    • -c <コミュニティ>:ネットワーク機器側で設定されているコミュニティを指定
    • <宛先IP[:ポート番号]>:対象ネットワーク機器のIPアドレスとポート番号(オプション)を指定
      • ポート番号を指定しない場合は 161 となる
    • <OID>:SNMP Get 対象の OID を指定

例えば対象機器のホスト名を取得する例は以下の通りです。(ポート番号デフォルト)

[root@CentOS8 ~]# snmpget -v 1 -c hogehoge 10.1.10.254 1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: FW01

対象機器側で待ち受けポートを 10161 に変更していた場合は、以下のようにポート番号として 10161 を指定して実行します。

[root@CentOS8 ~]# snmpget -v 1 -c hogehoge 10.1.10.254:10161 1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: FW01

パケットキャプチャしてみると宛先ポートが 10161 になっていることが確認できます。

snmpwalk コマンドについて

CnetOS で net-snmp-utils をインストールすると、snmpget コマンドの他に snmpwalk コマンドも実行できるようになります。

snmpwalk コマンドは、指定した OID 配下のすべての OID についての値を取得できます。

このコマンドも snmpget コマンドと同じ構文で使用できます。

  • snmpwalk -v <1|2c> -c <コミュニティ> <宛先IP[:ポート番号]> <OID>
    • -v <1|2c>:SNMP バージョンを指定
    • -c <コミュニティ>:ネットワーク機器側で設定されているコミュニティを指定
    • <宛先IP[:ポート番号]>:対象ネットワーク機器のIPアドレスとポート番号(オプション)を指定
      • ポート番号を指定しない場合は 161 となる
    • <OID>:SNMP Get 対象の OID を指定
[root@CentOS8 ~]# snmpwalk -v 1 -c hogehoge 10.1.10.254:10161 1.3.6.1.2.1.1
SNMPv2-MIB::sysDescr.0 = STRING:
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.12356.101.1.641
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (663431052) 76 days, 18:51:50.52
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: FW01
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 78
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORIndex.1 = INTEGER: 1
SNMPv2-MIB::sysORID.1 = OID: SNMPv2-SMI::zeroDotZero.0
SNMPv2-MIB::sysORDescr.1 = STRING:
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00

タイトルとURLをコピーしました