1. “inexio/snmpsim” 的使用
inexio/snmpsim 是在 etingof/snmpsim 基础上 fork 并更新的, 可以用来做 SNMP 设备的模拟和录制。
1.1. 安装
pip install https://github.com/inexio/snmpsim/archive/master.zip -i https://mirrors.aliyun.com/pypi/simple/
1.2. 启动模拟
/usr/local/bin/snmpsim-command-responder --agent-udpv4-endpoint=0.0.0.0:161 --process-user=snmpsim --process-group=nogroup --data-dir=/usr/local/share/snmpsim/data $EXTRA_FLAGS
$EXTRA_FLAGS
的 v3 连接参数可以为: EXTRA_FLAGS=--v3-user=testing --v3-auth-key=testing123 --v3-auth-proto=MD5 --v3-priv-key=12345678 --v3-priv-proto=DES
inexio/snmpsim 默认同时开启 v1/v2c/v3 三个版本的模拟, 如果只想开启 v3 则需要加入运行参数 --v3-only
。想用轻量的, 可以改用 snmpsim-command-responder-lite
启动命令。
1.3. 录制设备
inexio/snmpsim 支持 SNMP 设备的录制, 可以将真实 SNMP 设备的 OID 信息导出为 .snmprec
文件, 这个文件可以用来模拟该 SNMP 设备。
$ snmpsim-record-commands --help
$ snmpsim-record-commands --agent-udpv4-endpoint=10.200.10.240 --output-file=/tmp/cisco_catalyst_3750.snmprec --community=123456
录制的文件放在 data
目录的 recorded
目录下。
1.4. 模拟设备的连接
- 对于 v1/v2c 版本,
community string
直接使用data
目录下面的 “路径+文件名”, 比如recorded/cisco-catalyst-3750
这样的。 - 对于 v3 版本, 通过传入运行参数, 例如
--v3-user=testing --v3-auth-key=testing123 --v3-auth-proto=MD5 --v3-priv-key=12345678 --v3-priv-proto=DES
。其中, 客户端连接的字段必须指定使用context_name
为data
目录下面的 “路径+文件名” 形式, 例如recorded/cisco-catalyst-3750
。