我的目标是使用snmpsim.中的snmpsim
来模拟代理
在这方面,我走了一个SNMP设备,并在一个文件mydevice.snmprec
中捕获了输出。
根据{{3}}的指示,我想启动代理调用snmpsimd.py --agent-udpv4-endpoint=127.0.0.1:1161
。问题是此命令未指向mydevice.snmprec
。
任何想法如何包含mydevice.snmprec
作为模拟代理的命令的一部分?
答案 0 :(得分:2)
通常你会把它放在~/.snmpsim/data
但是还有一个--data-dir
开关。
您应该会看到一些这样的输出,告诉您社区名称:
Configuring /home/someuser/.snmpsim/data/foo.snmprec controller
SNMPv1/2c community name: foo
答案 1 :(得分:2)
只是有人可能会遇到同样的问题,这就是我为模拟代理和经理而采取的措施:
net-snmp
为CLI经理安装port install net-snmp
。还获得了MAC的MIB Broswer。snmpsim
以模拟代理
sudo snmprec.py --agent-udpv4-endpoint=10.1.1.10 --start-oid=1.3.6.1.4.1 --stop-oid=1.3.6.1.4.30 --use-getbulk --output-file=snmpsim/data/mydevice.snmprec
$ pwd
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/snmpsim-0.2.4-py2.7.egg/snmpsim
$ ls
__init__.py confdir.pyc data grammar record
__init__.pyc daemon.py error.py log.py variation
confdir.py daemon.pyc error.pyc log.pyc
$ tree
.
├── __init__.py
├── __init__.pyc
├── confdir.py
├── confdir.pyc
├── daemon.py
├── daemon.pyc
├── data
│ ├── mydevice.snmprec
│ ├── foreignformats
│ │ ├── linux.snmpwalk
│ │ ├── winxp1.snmpwalk
│ │ └── winxp2.sapwalk
$ snmpsimd.py --data-dir=data --agent-udpv4-endpoint=127.0.0.1:1161
您应该看到类似这些代表代理等待查询的最后几行的内容:
……………
………………..
………….
SNMPv3 USM SecurityName: simulator
SNMPv3 USM authentication key: auctoritas, authentication protocol: MD5
SNMPv3 USM encryption (privacy) key: privatus, encryption protocol: DES
Listening at UDP/IPv4 endpoint 127.0.0.1:1161, transport ID 1.3.6.1.6.1.1.0
$ snmpwalk -On -v2c -c mydevice 127.0.0.1:1161 .1.3.6.1.4.1
此时,您应该看到代理对查询和管理器做出反应,显示代理发回的内容。
此外,您可以从MIB浏览器管理器执行相同的操作。
注意:这支持只读操作!
我还没有得到可以写入模拟代理的部分。如果我能让它发挥作用,我会发布它。