2014-12-24 132 views
1

我的目标是模拟代理使用snmpsimsnmpsim. 在这方面,我走了一个SNMP设备,并捕获输出文件,mydevice.snmprec。 根据snmpsim的说明,我想开始代理调用snmpsimd.py --agent-udpv4-endpoint=127.0.0.1:1161。问题是这个命令不指向mydevice.snmprec。 任何想法如何包括mydevice.snmprec作为模拟代理的命令的一部分?使用snmpsim模拟SNMP代理

回答

2

恰恰是万一有人可能会遇到同样的问题,这里是我做了模拟代理和经理:

  1. 安装net-snmp通过port install net-snmp为CLI管理器。还获得了MAC的MIB Broswer。
  2. 安装snmpsim模拟剂
  3. 从实际设备捕获OID:

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 \t confdir.pyc \t data \t \t grammar \t \t record 
     
        __init__.pyc \t daemon.py \t error.py \t log.py \t \t variation 
     
        confdir.py \t daemon.pyc \t error.pyc \t 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浏览器管理器执行相同的操作。 注意:这支持只读操作! 我还没有得到可以写入模拟代理的部分。我会发布它,如果我能得到它的工作。

    2

    通常你会把它放在~/.snmpsim/data,但也有一个--data-dir开关。

    你应该会看到一些像这样的输出告诉你的团体名称:

    Configuring /home/someuser/.snmpsim/data/foo.snmprec controller 
    SNMPv1/2c community name: foo 
    
    +0

    嗨!何时应该看到创建的社区文件?在录制时间?创建了哪个导演? – flamenco

    +0

    以下是snmprec命令:'snmprec.py --agent-udpv4-endpoint = 172.22.50.19 --start-oid = 1.3.6.1.4.1.13742.4 --stop-oid = 1.3.6.1.4.1.13742.4.200 --use-getbulk --output-file = snmpsim/data/recorded/mydevice.snmprec'。我发现'snmprec.py --help'下面有'--community'开关。必须包含在命令中或社区文件是否在录制时以相同名称(除了.snmprec扩展名)自动创建? – flamenco

    +0

    用于记录的社区名称和用于播放的社区名称之间没有任何共同之处。第一个应该是你的捐助者代理将要响应的那个,第二个是由snmpsimd根据.snmprec文件的路径定义的。正如@McDowell所说的那样,snmpsimd会报告它能够找到的所有.snmprec文件及其关联的社区名称。 –