snmpsim
概要
SNMPエージェントのシミュレーターツール
SNMPエージェントは、ルータ等の実機である場合が多いが、マネージャ側でプログラム開発が必要な場合、開発中は実機に対して通信を飛す事は通常推奨されない。
開発中は実機にではなくシミュレータを利用して開発する事になる。
snmpsimはpythonで作成されているシミュレータで、元は「etingof」という個人が作成していたが、現在は「LeXtudio Inc.」という会社がメンテをしている
サイト
インストール
uv add snmpsim --dev
設定ファイル作成
手動作成
手作業で設定ファイルを作成する場合は、拡張子「snmprec」のファイルをフォーマットに従って作成する
この設定ファイルは動的な値にも対応している
「https://docs.lextudio.com/snmpsim/quick-start」等に簡単な設定ファイル例が記載されている
mkdir data
vi data/sample.snmprec
設定ファイルは「<コミュニティ名>.snmprec」で作成
既存環境から作成
既存環境の値と極力同じ物を設定ファイルとして作成したい場合、動的な値は対応していないが、snmpwalkの出力をそのまま利用する事が可能
この場合は拡張子「snmpwalk」にする
動的値が設定できないので、テストしたい値を数パターン取って利用する事になる
以下のように「-ObentU」オプションを付与して出力した結果ファイルを利用すれば、そのまま利用する事が可能
snmpwalk -v 2c public 127.0.0.161 -ObentU > sample.snmpwalk
起動
- data-dir: 設定ファイルの配置ディレクトリ
- agent-udpv4-endpoint: IP、port
SNMPのportは通常「161」portなので、それと衝突しないportを指定する場合が多い
# full
uv run snmpsim-command-responder --data-dir=./data --agent-udpv4-endpoint=127.0.0.1:1611
# 軽量
uv run snmpsim-command-responder-lite --data-dir=./data --agent-udpv4-endpoint=127.0.0.1:1611
基本機能だけであれば、liteの方で良い
稼動確認
snmpwalk等のコマンドを利用して確認する
snmpwalk -v 2c -c sample 127.0.0.1:1611
