SNMP Agent Simulator
The SNMP Simulator software is intended for testing SNMP Managers against
a large number of SNMP Agents that represent a potentially very large network
populated with different kinds of SNMP-capable devices.
Typical use case for this software starts with recording a snapshot of
SNMP objects of donor Agents into text files using "snmprec.py" tool
shipped with Simulator distribution.
Or if you'd better query your donor SNMP Agent with Net-SNMP's snmpwalk
tool, that information could also be used as a source of information by the
Simulator.
Another option is to generate snapshots directly from MIB files with
"mib2dev.py" tool. The latter appears useful whenever you do not posess a
physical donor device. Once you have your snapshots at hand, Simulator
script "snmpsimd.py" could be run over the snapshots responding to SNMP
queries in the same way as donor SNMP Agents did at the time of recording.
Technically, SNMP Simulator is a multi-context SNMP Agent. That means that
it handles multiple sets of Managed Object all at once. Each device is
simulated within a dedicated SNMP context.
SNMPv3 Manager talking to Simulator has to specify SNMP context name in
queries, while SNMPv1/v2c Manager can use specific SNMP community name
(logically bound to SNMP context) to access particular set of Managed
Objects.
It is also possible with the SNMP Simulator software to vary responses
based on Manager's transport address, not only SNMPv3 context or
SNMPv1/v2c community names.
Even more powerful is the latest Simulator's ability to gateway SNMP queries
to its extension (also called variation modules). Once a variation module
is invoked by Simulator core, it is expected to return a well-formed
variable-binding sequence to be put into Simulator's response message.
Simulator is shipped with a collecton of factory-built variation
modules including those suitable for external process invocation, SNMP
TRAP/INFORM originator and SQL database adapter.
Users of the Simulator software are welcome to develop their
own variation modules if stock ones appears insufficient.
The Simulator software is fully free and open source. It's written
from ground-up in an easy to learn and high-level scripting language called
Python.
Everyone is welcome to modify Simulator in any way to best suite their needs
(note a [very permissive] BSD License is protecting
Simulator).
If you'd rather would like us customizing or developing particular Simulator
feature for you, please let us know the details.
If something in Simulator does not work as expected, please try browsing
snmpsim
mailing list archives or post your question there.
Need help? Try snmpsim mailing lists or contact us.
|