2014-12-24 164 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文件及其關聯的社區名稱。 –