snmpwalkの使い方は?snmpwalkコマンドの使用方法を徹底解説

サーバー・ネットワーク統合管理ソフト

snmpwalkとは

snmpwalkとは、SNMPマネージャ用コマンドの一つです。SNMPプロトコルを実装したアプリケーション群である「Net-SNMP」の中に含まれています。
snmpwalkコマンドでOID(Object ID)を指定すると、配下に含まれるすべてのOIDと、その値を表示します。
類似したコマンドには「snmpget」があり、こちらはOIDを指定すると、指定したOIDと該当する値を単体で表示します。

Linuxでsnmpwalkコマンドを使用するには、「net-snmp」と「net-snmp-utils」パッケージをインストールします。詳しいインストール手順と設定方法はこちらをご参照ください。

SNMP監視効率化の
監視ツール OpManager はこちら

snmpwalkのコマンド実行例

以下に、snmpwalkコマンドの基本的な使用方法を、SNMPのバージョン毎にご紹介します。

SNMP v1の場合

snmpwalk -v1 -c <コミュニティ名> <ホスト名:ポート> < OID >

<コミュニティ名>:SNMPのコミュニティ名を指定します。
< ホスト名:ポート >:データを取得したいSNMPエージェントがある機器のホスト名またはIPアドレスと、SNMPのポート番号を入力します。 ポート番号はデフォルトでは161が使用されます。
< OID >:SNMPのObjectIDを指定します。

SNMP v2の場合

snmpwalk -v2c -c <コミュニティ名> <ホスト名:ポート> < OID >

<コミュニティ名>:SNMPのコミュニティ名を指定します。
< ホスト名:ポート >:データを取得したいSNMPエージェントがある機器のホスト名またはIPアドレスと、SNMPのポート番号を入力します。ポート番号はデフォルトでは161が使用されます。
< OID >:SNMPのObjectIDを指定します。

SNMP v3の場合

snmpwalk -v3 -l <セキュリティレベル> -a <認証方式> -A <認証パスワード> -x <暗号化プロトコル> -X <暗号化パスワード> -u <ユーザ名> <ホスト名:ポート> < OID >

-l <セキュリティレベル>:noAuthNoPriv、authNoPriv、authPrivのいずれか
-a <認証方式>:SHA(推奨)またはMD5を指定します。
-A <認証パスワード>:SNMPv3における認証パスワードを指定します。
< ホスト名:ポート >:データを取得したいSNMPエージェントがある機器のホスト名またはIPアドレスと、SNMPのポート番号を入力します。ポート番号はデフォルトでは161が使用されます。
< OID >:SNMPのObjectIDを指定します。

以下はセキュリティレベルがauthPrivである場合に指定します。
-x <暗号化プロトコル>:暗号化プロトコル。AES(推奨)またはDESを指定します。
-X <暗号化パスワード>:暗号化パスワード
-u <ユーザ名>:ユーザ名を指定します。

snmpwalkコマンドでその他に利用可能なオプション

上記で紹介した以外にも、snmpwalkコマンドには様々なオプションが用意されています。環境や必要に応じて指定して利用します。

-V, --version:Net-SNMPのバージョンを表示します
-r <回数>:試行回数を指定します。
-t <タイムアウト時間>:リクエストのタイムアウト時間を秒で指定します。
-d:通信されたパケットを16進数で出力してデバッグに使用します。
-D <トークン 機能名>:指定したSNMPの機能のデバッグを行います。
    io - 入出力アクティビティと生データをレポートとして表示します。
    dsp - 高レベルなSNMPエンジンの動作をレポートとして表示します。
    msgproc - メッセージ処理の動作をレポートとして表示します。
    secmod - セキュリティの操作をレポートとして表示します。
    mibbuild - MIBファイルの読み込みと処理をレポートとして表示します。
    mibview - MIBブラウザの初期化と操作をレポートとして表示します(マネージャロールMIBを利用)
    mibinstrum - MIBインストルメンテーション操作をレポートとして表示します(エージェントロールMIBを使用)
    acl - MIBアクセス制御をレポートとして表示します。
    proxy - 組み込みのSNMPプロキシ操作をレポートとして表示します。
    app - SNMP標準アプリケーションの操作をレポートとして表示します。
    all - 上記すべてをレポートとして表示します。

以下のオプションはSNMPv3の場合に指定可能です。
-e <エンジンID>:権限のあるセキュリティエンジンIDを16進数の文字列で設定します。通常の場合は自動的に検出されます。
-E <エンジンID>:コンテキストエンジンIDを16進数の文字列で設定します。指定しない場合は、権限のあるエンジンIDが自動で指定されます。
-n <コンテキスト名>:コンテキスト名を指定します。
-Z < BOOTS,TIME > :認証に使用するエンジンブートカウンタとそのタイムライン値を設定します。通常の場合これらの値は自動的に検出されます。

SNMP監視をより効率化するツール[機能・監視数 無制限]

ダウンロードはこちら概要資料はこちら

SNMPを使用した監視をより効率化するツール

サーバーやスイッチ・ルーターなどネットワーク機器の監視目的でsnmpwalkコマンドを利用する場合は、ネットワーク機器の台数が増加するにつれて、管理の手間が増えてしまいます。

手動でのコマンド実行よりも効率的にネットワーク機器を管理・監視するには、SNMPを利用して自動でパフォーマンスデータを収集するツールを使用するのがお勧めです。

ManageEngineが提供する統合監視ツールである「OpManager」は、SNMPを利用してネットワーク機器を自動で監視し、機器のステータスが一目で分かるように可視化します。 スイッチ監視、ルーター監視、CPU監視、メモリ監視、ポート監視、アプリケーション監視、イベントログ監視機能などが、Webベースのわかりやすい画面で管理できます。ネットワーク監視に関する知識がない方でも操作が可能で、容易に運用できるのが特徴です。

ネットワーク機器やサーバーの監視の自動化・効率化の方法をお探しの場合は、是非「OpManager」をご検討ください。

SNMPから取得したデータをわかりやすく可視化

SNMPから取得したデータをわかりやすく可視化

無料で使えます[機能・監視数 無制限]

ダウンロードはこちら概要資料はこちら

SNMPのインストールと設定

Linux端末にSNMPをインストールして設定する手順を紹介します。

1. 「net-snmp」パッケージと「net-snmp-utils」パッケージをインストールします。

Red-Hat系OS:yum install net-snmp net-snmp-utils
Debian系OS:apt-get install snmpd snmp

2. /etc/snmp/snmpd.conf ファイルに設定を記述します。

設定例
#       sec.name        source          community
com2sec <セキュリティ名>   <ネットワーク範囲>     <コミュニティ名>

<セキュリティ名>:任意のセキュリティポリシーの名前を設定します。
<ネットワーク範囲>:セキュリティポリシーを適用するネットワーク(SNMPプロトコルでの通信を許可する・拒否するネットワーク)の範囲を指定します。"default"を指定すると、すべてのネットワーク(0.0.0.0)を指します。
<コミュニティ>:コミュニティ文字列を指定します。

#                       sec.model       sec.name
group   <グループ名>  <セキュリティモデル>              <セキュリティ名>

<グループ名>:任意のグループ名を設定します。
<セキュリティモデル>:SNMPのバージョンを指定します。v1の場合はv1、v2cの場合はv2c、v3の場合はusm
<セキュリティ名>:このグループに含めるセキュリティ名を指定します。

#           incl/excl   subtree         mask
view <ビュー名>    included    <OID>              80

<ビュー名>:任意のビュー名を設定します。
<OID>:情報取得を許可するOIDを指定します。.1とした場合、.1以下すべてが許可されます。

#                       context sec.model sec.level prefix read   write notify
access <グループ名>   ""      any       noauth    exact  <ビュー名>    none  none
設定サンプル
com2sec network_A 192.168.0.0/24 public
group group_A v2c network1
view   view_all  included  .1
access group_A "" any noauth exact view_all none none

3. SNMPサービスを起動します。

関連機能

無料で使えます[機能・監視数 無制限]

ダウンロードはこちら概要資料はこちら