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
解決: 新建普通用戶然后以此執行
