[HOME]: [Mac OS X]: [MacPython]: [Emacs]: [生存報告記]:

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

起動

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