Имитация агента SNMP с помощью snmpsim

Моя цель — смоделировать агента с помощью snmpsim из snmpsim. В этом отношении я прошел SNMP. устройство и записали результат в файл mydevice.snmprec. Согласно инструкции от snmpsim, я полагаю запустить агент, вызывающий snmpsimd.py --agent-udpv4-endpoint=127.0.0.1:1161. Проблема в том, что эта команда не указывает на mydevice.snmprec. Есть идеи, как включить mydevice.snmprec в команду для имитации агента?


person flamenco    schedule 24.12.2014    source источник


Ответы (2)


Обычно вы бы поместили его в ~/.snmpsim/data, но есть также переключатель --data-dir.

Вы должны увидеть примерно такой вывод, сообщающий вам имя сообщества:

Configuring /home/someuser/.snmpsim/data/foo.snmprec controller
SNMPv1/2c community name: foo
person McDowell    schedule 24.12.2014
comment
Привет! Когда я должен увидеть созданный файл сообщества? Во время записи?В каком директоре созданы? - person flamenco; 24.12.2014
comment
Вот команда 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) во время записи? - person flamenco; 24.12.2014
comment
Нет ничего общего между именем сообщества, используемым для записи, и именем сообщества, используемым для воспроизведения. Первый должен быть тем, на что будет отвечать ваш агент-донор, второй определяется snmpsimd на основе пути к файлу .snmprec. Как сказал @McDowell, snmpsimd сообщит обо всех файлах .snmprec, которые он смог найти, вместе с соответствующими именами сообществ. - person Ilya Etingof; 01.01.2015

На всякий случай кто-то может столкнуться с той же проблемой, вот что я сделал для имитации агента и менеджера:

  1. Установлен net-snmp через port install net-snmp для CLI-менеджера. Также есть браузер MIB для MAC.
  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

  1. Откройте окно терминала и запустите смоделированный агент:

    $ 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

  1. Откройте другое окно терминала, чтобы запустить менеджер:

$ snmpwalk -On -v2c -c mydevice 127.0.0.1:1161 .1.3.6.1.4.1 На этом этапе вы должны увидеть, как агент реагирует на запрос, а менеджер отображает все, что агент отправляет обратно. Кроме того, вы можете сделать то же самое из менеджера браузера MIB. Примечание. Это поддерживает операции только для чтения! У меня пока нет той части, где можно написать симулированному агенту. Я опубликую его, если смогу заставить его работать.

person flamenco    schedule 27.12.2014