snmpsim使用
安装
pip install snmpsim
简单使用
生成snmpwalk文件:
snmpwalk -v2c -c 'password' -ObentU 218.200.1.153 1.3.6.1.4.1.6527.3.1.2.2.1.5.1.6 > PowerSupply1Status.snmpwalk
snmpwalk -v2c -c 'password' -ObentU 218.200.1.153 1.3.6.1.4.1.6527.3.1.2.2.1.4.1.2 > FanOperStatus.snmpwalk
snmpwalk -v2c -c 'password' -ObentU 218.200.1.153 1.3.6.1.4.1.6527.3.1.2.2.1.4.1.3 > FanSpeed.snmpwalk
.snmpwalk文件转.snmprec:
. ├── data │ ├── FanOperStatus.snmpwalk │ ├── FanSpeed.snmpwalk │ └── PowerSupply1Status.snmpwalk ├── lextab.py ├── snmprec_data │ ├── FanOperStatus.snmprec │ ├── FanSpeed.snmprec │ └── PowerSupply1Status.snmprec └── yacctab.p
datafile.py --input-file=./data/FanOperStatus.snmpwalk --source-record-type=snmpwalk --output-file=./snmprec_data/FanOperStatus.snmprec
datafile.py --input-file=./data/PowerSupply1Status.snmpwalk --source-record-type=snmpwalk --output-file=./snmprec_data/PowerSupply1Status.snmprec
datafile.py --input-file=./data/FanSpeed.snmpwalk --source-record-type=snmpwalk --output-file=./snmprec_data/FanSpeed.snmprec
模拟
snmpsimd.py --data-dir=./snmprec_data/ --agent-udpv4-endpoint=127.0.0.1:1024
这里指定data-dir会优先去指定的这个目录下找.snmprec文件,例如使用时:
-c 指定.snmprec文件的名字
snmpwalk -v2c -c FanSpeed 127.0.0.1:1024 1.3.6.1.4.1.6527.3.1.2.2.1.4.1.3
snmpsimd.py --agent-udpv4-endpoint=127.0.0.1:1024
这种情况下不指定data-dir, 会去~/.snmpsim/data,
/usr/lib/python2.7/site-packages/snmpsim/data, /usr/snmpsim/data,下面查找。
如果需要将多个snmprec结果放到一起,人为追加拼接无法生效,需要:
datafile.py --input-file=./FanSpeed.snmprec --input-file=./FanOperStatus.snmprec --input-file=./PowerSupply1Status.snmprec --sort-records --deduplicate-records --output-file=./FanSpee.snmprec
这里将三个snmprec合并到一个FanSpee.snmprec文件
使用公开snmp模拟器实例:
snmprec.py --agent-udpv4-endpoint=demo.snmplabs.com --community=public
错误
AttributeError: 'module' object has no attribute 'noValue'
解决: pip search pyasn1 查看安装的pyasn1版本,安装最新版本
ERROR: cant drop priveleges: Must drop priveleges to a non-priveleged user&group
解决: 新建普通用户然后以此执行